php - 使用 bin2hex(random_bytes($str)) 在密码学上是安全的吗?

标签 php security encryption cryptography byte

我找到了这个问题的不同答案,但没有一个问及加密安全性。

在 PHP 中使用 bin2hex(random_bytes($str)) 是否加密安全?它会降低安全性或唯一性吗?

最佳答案

The documentation for random_bytes表示函数

Generates an arbitrary length string of cryptographic random bytes that are suitable for cryptographic use, such as when generating salts, keys or initialization vectors.

因此 PHP 开发人员相信它已经足够好了。输入应该是字节数,而不是字符串:

string random_bytes ( int $length )

bin2hex 对生成数据的加密适用性没有影响。特别是,它不能将您的随机字节“拉伸(stretch)”成更多的随机字节。如果您需要 $n 字节的随机数据,请使用 random_bytes($n)

关于php - 使用 bin2hex(random_bytes($str)) 在密码学上是安全的吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48628985/

相关文章:

security - 需要cookie来记住双因素身份验证成功(不是持久登录)

php - 打印出从 SQL 数据库中获取的关联数组

php - 用户 'dbtsorder' @'localhost' 的访问被拒绝(使用密码 : YES)

php - 哪个版本的php增加了匿名函数

java - Java 字符串并非真正不可变的含义是什么?

c# - 如何在注册表中保存密码

algorithm - 双向 key 加密/哈希算法

java - 使用相同密码实例的 BadPadding 异常

php - 修补匠在Laravel 5.8中给出了异常(exception)

c# - 最佳加密方式