php - 密码中的字符串和盐与 crypt() 相同是否安全?

标签 php crypt

例如,假设有人可以访问哈希值“PafgokWMoHSZE”。因为这是通过 crypt(Password1,Password1) 获得的,所以逆向工程会比任何其他盐更容易/更困难吗?

最佳答案

这不太安全,不要这样做。问题在于 salt 是散列的前缀 - 开头的 Pa 是来自 Password1 的前两个字符。您已将 9 个字符的密码减少为 7 个字符的密码。

PHP 的 crypt() 会自动为您生成随机盐。除非您需要特定的算法,否则最好保留它。

编辑:我刚刚想到,这也让用户可以控制哈希算法,这几乎肯定不是您想要的。无效的盐(即密码中的无效字符)也会导致 crypt() 失败。

关于php - 密码中的字符串和盐与 crypt() 相同是否安全?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19341043/

相关文章:

关于 SSL 的 PHP cURL 错误

PHP、MySql 下拉列表每次选择只显示一条记录

node.js - 针对 FreeBSD/etc/master.passwd 进行验证

ssl - 为什么 dnscrypt 站点不起作用?

php - Laravel 5 - 为包创建 Artisan 命令

PHP 路径串联

php - 将 php 数组移动到 jquery 中进行操作

php - 为什么 crypt/blowfish 使用两种不同的盐生成相同的散列?

c# - C# 和 PHP 中的 Ruby string#crypt

php - 您可以将 php crypt() 的输出转换为有效的 MD5 吗?