重要な性質は 3 つあります。原像耐性(ダイジェストが与えられたとき、それになる入力をどれか見つける)、第二原像耐性(入力が与えられたとき、同じダイジェストになる別の入力を見つける)、衝突耐性(衝突する 2 つの入力をどれでもよいので見つける)です。n ビットのダイジェストでは、汎用的な攻撃のコストはそれぞれ約 2ⁿ、2ⁿ、2ⁿᐟ² です。最後の値は誕生日のパラドックスによるもので、SHA-256 の衝突耐性が 128 ビットなのはこのためです。
標準的な関数は次のとおりです。SHA-2(SHA-224〜SHA-512、FIPS 180-4)と、SHAKE 拡張出力関数を含む SHA-3(FIPS 202)は承認済みです。BLAKE2(RFC 7693)は NIST の文脈以外で広く使われています。MD5 と SHA-1 は衝突耐性が破られており、攻撃者が入力を選べる場面で使ってはいけません。Merkle–Damgård 構造(MD5、SHA-1、SHA-2)では伸長攻撃が可能ですが、スポンジ構造(SHA-3)と HAIFA 構造(BLAKE2)では不可能です。
ハッシュは MAC でも、パスワードハッシュでも、暗号化でもありません。鍵付きの完全性には HMAC か KMAC を、パスワードには Argon2id、scrypt、PBKDF2 のいずれかを、機密性には AEAD を使ってください。量子コンピューターがハッシュに与える影響はわずかです。グローバーのアルゴリズムによる原像探索の高速化は最大でも平方根程度であり、NIST の移行計画のドラフトでも SHA-256 と SHA-3 は引き続き使用可能とされています。