CoderTools

密码哈希生成器

使用Bcrypt、Scrypt、Argon2算法生成和验证安全的密码哈希

Bcrypt 选项

10

值越高越安全,但计算时间越长。推荐值:10-12

关于密码哈希

密码哈希是一种单向加密技术,将用户密码转换为固定长度的字符串。与普通哈希不同,密码哈希算法专门设计用于抵抗暴力破解和彩虹表攻击。

重要提示:永远不要存储明文密码!始终使用密码哈希算法(如Bcrypt、Scrypt或Argon2)来存储用户密码。这些算法内置了盐值生成,可以有效防止彩虹表攻击。

算法对比

算法 年份 内存占用 GPU抗性 推荐
Bcrypt 1999 4KB 中等
Scrypt 2009 可配置
Argon2 2015 可配置 非常高 最佳选择

关于 Bcrypt

Bcrypt是基于Blowfish密码的自适应密码哈希函数,由Niels Provos和David Mazières于1999年设计。它包含一个成本因子,可以根据硬件性能的提升而增加,保持破解难度。Bcrypt最大支持72字节的密码,生成60字符的哈希值,格式为$2a$、$2b$或$2y$前缀。

关于 Scrypt

Scrypt是由Colin Percival于2009年设计的密码衍生函数,专门设计为内存硬化算法,需要大量内存才能计算,有效抵抗ASIC和GPU并行攻击。Scrypt广泛用于加密货币(如Litecoin)和密码存储。其参数N、r、p可以调整CPU和内存成本。

关于 Argon2

Argon2是2015年密码哈希竞赛的冠军,被认为是目前最安全的密码哈希算法。它有三个变体:Argon2d(抗GPU攻击)、Argon2i(抗侧信道攻击)和Argon2id(两者结合,推荐用于密码哈希)。Argon2可以配置内存、迭代次数和并行度参数。

密码存储最佳实践

参考资料