【发布时间】:2011-02-05 08:00:24
【问题描述】:
我想创建一个令牌生成器,它生成用户无法猜到且仍然唯一的令牌(用于密码重置和确认码)。
我经常看到这段代码;有意义吗?
md5(uniqid(rand(), true));
根据comment uniqid($prefix, $moreEntopy = true) 产生
前 8 个十六进制字符 = Unixtime,后 5 个十六进制字符 = 微秒。
不知道$prefix-参数是怎么处理的..
因此,如果您不将 $moreEntopy 标志设置为 true,它会给出可预测的结果。
问题: 但是,如果我们将uniqid 与$moreEntopy 一起使用,那么用md5 对其进行散列对我们有什么好处?是否优于:
md5(mt_rand())
edit1:我会将此标记存储在具有唯一索引的数据库列中,因此我将检测列。可能感兴趣/
【问题讨论】:
标签: php security hash random passwords