【发布时间】:2014-06-02 15:06:45
【问题描述】:
我一直在对创建一些不同的哈希等进行一些研究。我知道password_hash() 函数,但是我目前正在使用 mcrypt 创建一个初始化值。出现的问题是,如果密码大于 8 个字符,一些散列密码会被截断。
我当前的代码在用户密码中添加了盐(由mcrypt_create_iv() 创建)。然后使用hash() 函数对其进行加密。 密码的标准是 8->40 个字符。
我在 MySQL 中的列看起来像使用 latin1_swedish_ci 排序规则的 varchar (64)。
如何计算初始化值的最大长度(MySQL 长度),以及用户输入密码的最大长度?
免责声明:我故意省略了加密,但会感谢任何有关不同密码块初始值长度和哈希长度的文档。 (不确定术语,希望有意义。)
【问题讨论】:
-
这是散列,不是加密。加密不适用,因为加密不是一种方法(除非您丢失了密钥,在这种情况下它或多或少没用)。
标签: php hash cryptography mcrypt rijndael