相关问题:AmIusingPHP'scrypt()functioncorrectly?PasswordstoragehashwithSHA-512orcrypt()withblowfish(bcrypt)我正在尝试弄清楚应该如何使用PHP安全地存储密码。稍作阅读后,我确定我应该使用crypt()而不是hash()并且我应该使用blowfish(bcrypt)或SHA-512算法,我相信bcrypt被更频繁地推荐,尽管有显着也支持基于SHA-512的算法。还有很多建议我的salt应该尽可能随机,很多建议在核心rand()和上使用openssl_random_pseudo_bytes()m
我在使用crypt()时遇到问题,如果用户有密码(本例中为password1),并且他们将其更改为password2,则散列会返回相同的结果。您可以在此处进行测试:旧链接输入password1作为当前密码,输入password2作为新密码并确认密码,您将看到结果。如果输入完全不相似的密码,则没有问题。我知道还有其他方法可以散列密码等。我很好奇。我的代码如下:EnterCurrentPassword:EnterNewPassword:ConfirmNewPassword:";$user_id=$_SESSION['user_id'];$pass=$_POST['password'];$s
我有一个Django应用程序可以重置在Ubuntu机器上运行的unix用户密码,但我的开发环境是OSX,我遇到了这个烦人的情况:操作系统:>>>importcrypt>>>crypt.crypt('test','$1$VFvON1xK$')'$1SoNol0Ye6Xk'Linux:>>>importcrypt>>>crypt.crypt('test','$1$VFvON1xK$')'$1$VFvON1xK$SboCDZGBieKF1ns2GBfY50'通过阅读crypt的pydoc,我看到它使用特定于操作系统的crypt实现,因此我还在两个系统中测试了以下代码,结果与python:#i