我正在生成用于激活帐户的验证码。你以前可能见过这种事情。
我的问题:如果我用这样一个复杂的公式生成这段代码:
md5(md5(time().'helloguys'.rand(0,9999)));
它真的比生成 32 个字符和数字的随机字符串(如 gj3dI3OGwo5Enf...
)更好吗?
最佳答案
不,使用散列并不是更好。选择 32 个随机字符会更安全(更不可预测)。 (数字是字符。)使用一个好的(“加密的”)随机数生成器,带有一个好的种子(来自/dev/random 的一些字节)。不要把时间当作种子。
关于php - 随机字符串是不是很好的验证码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3673574/