php - 在 PHP 中生成盐

标签 php random cryptography salt

在 PHP 中生成加密安全的 32 字节盐的最佳方法是什么,而不依赖于典型 PHP 安装中很少包含的库?

经过一番谷歌搜索后,我发现 mt_rand 被认为不够安全,但我还没有找到替代的建议。一篇文章建议从 /dev/random 读取,但这不仅在 Windows 上不起作用;它也非常慢。

我想要安全性和速度之间的合理平衡(即,生成 512 字节不应该花费 20 秒,就像 /dev/random 通常那样)

最佳答案

这在 PHP 7 中更容易: 只需使用 $salt = random_bytes($numberOfDesiredBytes);生成盐。

你需要盐做什么?如果是密码,只需使用 password_hash()password_verify() .

关于php - 在 PHP 中生成盐,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2513734/

相关文章:

php - MongoDB:ObjectId 到字符串

java - 模拟加权随机数 - Java

random - 如何生成相同的伪随机整数序列?

c - CPU/编程语言使用哪种幂运算算法?

hash - 是否可以解密 MD5 哈希值?

.net - 在 .NET 中使用 AES 加密 - CryptographicException 表示填充无效且无法删除

php - Magento 内置日历无法在管理后端工作

php - 将 cookie 设置为永不过期

php - 如何使用PHP和SQL Server 2008调用存储过程

c++ - 如何在C/C++中生成0到用户定义整数之间的随机数?