密码哈希代码。
Secure Password Storage v2.0 ============================= 此仓库包含经同行评审的 PHP、C#、Ruby 和 Java 中的密码存储库。密码使用 PBKDF2 (默认情况下,SHA1 进行 64,000 次迭代) 并使用密码学上随机的盐进行"哈希"。这些实现彼此兼容,因此您可以在 PHP 中创建哈希,然后在 C# 中验证它。
此代码使用 PBKDF2 算法来保护密码。目前已有更好的密码保护技术,如 bcrypt、scrypt 或 Argon2。在使用此代码之前,您应尝试在所使用的语言中找到一款经过充分评估和精心制作的这些算法实现。这些算法具有"内存强"的特征,这意味着它们不仅需要大量的 CPU 资源来计算,还需要大量的内存(与 PBKDF2 不同)。通过使用内存强的算法,您的密码将得到更好的保护。
你可以使用 libsodium 来 使用 scrypt 对密码进行哈希。它提供了用于许多语言的绑定。对于 PHP 应用程序,一个很好的选择是使用内置的 password_verify() 函数。
您不应将用户的密码存储在服务器上的明文形式。甚至不应该以加密形式存储它们。正确的密码存储方式是存储从密码生成的某些内容,我们将其称为"哈希值"。哈希值无法恢复密码,只能检查密码是否与生成哈希值的密码相同。有关密码哈希的许多细节,本库会隐藏在您的面前。使用本库时,您无需担心诸如"盐"等细节。它会自动处理这些细节。
暂无开放 Issues,或尚未同步最近议题。