Bcrypt 的 72 字节陷阱
Bcrypt 算法存在 72 字节输入长度限制,超出部分会被静默忽略,导致用户密码实际只使用了前 72 字节,可能引发安全隐患,尤其在中文或 emoji 密码场景下,需注意单位是字节而非字符。
阅读全文 →Bcrypt 算法存在 72 字节输入长度限制,超出部分会被静默忽略,导致用户密码实际只使用了前 72 字节,可能引发安全隐患,尤其在中文或 emoji 密码场景下,需注意单位是字节而非字符。
阅读全文 →Bcrypt算法不同前缀$2a$、$2b$、$2y$代表实现版本差异及修正历史,用于区分算法行为修正,影响密码校验结果,需注意版本兼容及正确校验方法,适合开发者了解密码存储与验证技术细节。
阅读全文 →argon2id、argon2i、argon2d三种算法的选择指南,解析内存访问差异及抗侧信道、抗GPU能力对比,适合需要配置安全密码哈希函数的开发者参考。
阅读全文 →Argon2通过增加内存需求来限制并行计算,有效抵抗GPU和ASIC攻击,选择合适的m和t参数可提升安全性。
阅读全文 →PBKDF2密码哈希输出不包含算法参数,需自行存储迭代次数、盐值等,否则无法校验,与其他自描述哈希算法如Bcrypt不同,推荐使用PHC规范格式存储参数与摘要。
阅读全文 →FIPS合规要求密码算法通过NIST标准认证,Argon2id因不在标准列表无法满足,PBKDF2结合SHA-256/512、高迭代次数、16字节盐值及32字节输出长度可实现合规,Bcrypt和Argon2均不符合要求。
阅读全文 →