php - 随机字符串是不是很好的验证码

标签 php security registration account

我正在生成用于激活帐户的验证码。你以前可能见过这种事情。

我的问题:如果我用这样一个复杂的公式生成这段代码:

md5(md5(time().'helloguys'.rand(0,9999)));

它真的比生成 32 个字符和数字的随机字符串(如 gj3dI3OGwo5Enf...)更好吗?

最佳答案

不,使用散列并不是更好。选择 32 个随机字符会更安全(更不可预测)。 (数字是字符。)使用一个好的(“加密的”)随机数生成器,带有一个好的种子(来自/dev/random 的一些字节)。不要把时间当作种子。

关于php - 随机字符串是不是很好的验证码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3673574/

相关文章:

javascript - 需要帮助确定如何在 mediawiki 中编辑 div

java - PHP 和 Java 中的 SHA256

security - 如何从零开始实现HMAC-SHA认证?

WSO2 Identity Server 5.0 不包括 self 注册(注册)页面?

php - 如何使用 CodeIgniter 在 MySQL 中插入 HTML 实体?

php - 检测文件是否是PHP中没有mime类型的音频文件

php - 处理 $_POST[] 和 $_GET[] 变量

security - url 路径 '/#!' 是特殊的还是漏洞利用?

乔姆拉! - 如何为用户注册添加额外信息?

ruby-on-rails - Ruby On Rails 注册流程详细信息