mcrypt 7.1已弃用/ 7.2+删除

时间:2016-11-05 12:44:14

标签: php deprecated mcrypt

我一直在关注有关使用mcrypt_create_iv()生成随机字符串的信息,并在3v4l.org处提供了一些示例代码。

在阅读PHPWiki所有mycrypt_*函数后,将显示一个已撤消的警告,但它没有指定7.2 / 8.0中将用于替换这些函数的内容。

由于它声明它将在7.2 / 8.0中删除,将用什么代替IV?

我不在我的软件中使用此功能进行加密和解密。我只用它来安全/检索一个唯一的字符串。

1 个答案:

答案 0 :(得分:4)

random_bytes()

虽然我想每个PHP加密扩展都会提供自己的函数版本来生成随机数据,就像他们目前所做的那样:

这仅仅是因为任何加密API在没有访问CSPRNG的情况下都是不完整的。实际上,PHP开发人员出于同样的原因添加了mcrypt_create_iv(),而它不是libmcrypt的一部分。

  

我只将它用于安全/检索唯一字符串。

“随机”并不意味着“独特”。前者需要不可预测,而后者必须不可重复
确实,碰撞的几率会随着您添加到字符串中的每个随机字节呈指数级下降,但唯一性绝不是100%保证。