You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
hmz007 36ed224bac
Rockchip Anroid14_SDK 20240628-rkr5 (2556df1a)
1 year ago
..
README.md Rockchip Anroid14_SDK 20240628-rkr5 (2556df1a) 1 year ago
hash.cc Rockchip Anroid14_SDK 20240628-rkr5 (2556df1a) 1 year ago
hash.h Rockchip Anroid14_SDK 20240628-rkr5 (2556df1a) 1 year ago
hash_perftest.cc Rockchip Anroid14_SDK 20240628-rkr5 (2556df1a) 1 year ago
hash_unittest.cc Rockchip Anroid14_SDK 20240628-rkr5 (2556df1a) 1 year ago
legacy_hash.cc Rockchip Anroid14_SDK 20240628-rkr5 (2556df1a) 1 year ago
legacy_hash.h Rockchip Anroid14_SDK 20240628-rkr5 (2556df1a) 1 year ago
legacy_hash_unittest.cc Rockchip Anroid14_SDK 20240628-rkr5 (2556df1a) 1 year ago
md5.h Rockchip Anroid14_SDK 20240628-rkr5 (2556df1a) 1 year ago
md5_boringssl.cc Rockchip Anroid14_SDK 20240628-rkr5 (2556df1a) 1 year ago
md5_boringssl.h Rockchip Anroid14_SDK 20240628-rkr5 (2556df1a) 1 year ago
md5_constexpr.h Rockchip Anroid14_SDK 20240628-rkr5 (2556df1a) 1 year ago
md5_constexpr_internal.h Rockchip Anroid14_SDK 20240628-rkr5 (2556df1a) 1 year ago
md5_constexpr_unittest.cc Rockchip Anroid14_SDK 20240628-rkr5 (2556df1a) 1 year ago
md5_nacl.cc Rockchip Anroid14_SDK 20240628-rkr5 (2556df1a) 1 year ago
md5_nacl.h Rockchip Anroid14_SDK 20240628-rkr5 (2556df1a) 1 year ago
md5_unittest.cc Rockchip Anroid14_SDK 20240628-rkr5 (2556df1a) 1 year ago
sha1.h Rockchip Anroid14_SDK 20240628-rkr5 (2556df1a) 1 year ago
sha1_boringssl.cc Rockchip Anroid14_SDK 20240628-rkr5 (2556df1a) 1 year ago
sha1_boringssl.h Rockchip Anroid14_SDK 20240628-rkr5 (2556df1a) 1 year ago
sha1_nacl.cc Rockchip Anroid14_SDK 20240628-rkr5 (2556df1a) 1 year ago
sha1_nacl.h Rockchip Anroid14_SDK 20240628-rkr5 (2556df1a) 1 year ago
sha1_unittest.cc Rockchip Anroid14_SDK 20240628-rkr5 (2556df1a) 1 year ago

README.md

Choosing A Hash Function

Note: this document is still very much a work-in-progress. Currently missing:

  • recommendations for hashed containers
  • recommendations for a better persistent hash
  • recommendations for a secure hash

If a hash function with unchanging output is needed, please select from one of the unchanging forever options below.

Non-cryptographic

name input output unchanging forever notes
Hash() overloaded uint32_t no This function is currently being updated to return size_t.
PersistentHash() overloaded uint32_t yes Fairly weak but widely used for persisted hashes.
CityHash64() base::span<const uint8_t> uint64_t yes (note 1) Version 1.0.3. Has some known weaknesses.
CityHash64WithSeed() base::span<const uint8_t> uint64_t yes (note 1) Version 1.0.3. Has some known weaknesses.

Cryptographic

There are no hashes in //base that provide cryptographic security.

name input output unchanging forever notes
MD5String() std::string std::string yes INSECURE
SHA1HashString std::string std::string yes INSECURE

Deprecated

Note: CRC32, Murmur2, and Murmur3 will be listed here.

Note 1: While CityHash is not guaranteed unchanging forever, the version used in Chrome is pinned to version 1.0.3.