两者都是哈希函数:任意长度的输入,得到固定长度的输出,且不可逆。区别在两个地方: 输出长度(MD5 = 128 位 = 32 个十六进制字符,SHA256 = 256 位 = 64 个字符)和 抗碰撞强度(MD5 已被证明可以人为构造碰撞)。
sha256sum 更保险,尤其对安装包。哈希计算工具:MD5 / SHA1 / SHA256 / SHA512,支持粘贴文本或选文件, 纯本地计算,文件不上传。
计算哈希值 →# Linux / Mac
sha256sum installer.zip
md5sum installer.zip
# 和官网公布的值对比(一行搞定)
echo "公布的哈希值 installer.zip" | sha256sum -c
# Windows PowerShell
Get-FileHash installer.zip -Algorithm SHA256
Get-FileHash installer.zip -Algorithm MD5
# 错(数据库泄漏后直接反查彩虹表)
import hashlib; hashlib.md5(pw.encode()).hexdigest()
# 对
from werkzeug.security import generate_password_hash, check_password_hash
generate_password_hash(pw) # 自动加盐 + 慢哈希
check_password_hash(stored, pw)