我想生成一个 40 字节的随机密码
k = ???
password = sha1(openssl_random_pseudo_bytes(k))
k 的推荐值是多少,所以密码足够强?
我想生成一个 40 字节的随机密码
k = ???
password = sha1(openssl_random_pseudo_bytes(k))
k 的推荐值是多少,所以密码足够强?
SHA1 输出 20 个字节,因此给它 20 个字节的随机输入就足够了。可以这样想:攻击者可以尝试猜测密码或尝试猜测 SHA1 输入。只要 SHA1 输入至少与输出一样长,他就更容易强行输出,因此输入足够长。
但是,我想知道您为什么要在这些随机字节上使用 SHA1。应该已经给你随机字节,你可以简单地使用左右openssl_random_pseudo_bytes
转换为十六进制。bin2hex