Hash logic
Keys are hashed.
Memcached hashes
Memcached itself uses either:
Golang
Beyond the Go ports of these hashes, Go includes native alternatives:
- Jenkins hash
- Murmur 3:
- xxhash:
- Golang standard library hashes:
- Golang crypto package includes many
cryptographic hashed with optimized implementations too. Most interesting are probably MD5 and SHA1
- AES (Rijndael),
- Cipher package provides bloc cipher modes around low-level ciphers, no specific hashes.
- DES (DIPS 46-3)
- DSA (FIPS 186-3)
- ECDSA (FIPS 186-3)
- Elliptic package doesn't directly apply
- HMAC
- MD5 (RFC 1321)
- rand package doesn't directly apply
- RC4, RSA provide encryption, don't directly apply
- SHA1 (RFC 3174). Reported to be as fast as a Jenkins hash, but may not has optimal distribution
properties
- SHA-256, SHA-384, SHA512, SHA512-224, SHA-512/256 (FIPC 180-4)
- subtle package doesn't directly apply
- TLS 1.2, doesn't directly apply
- X.509, doesn't directly apply