0

我正在使用此功能生成唯一的 api 密钥并存储到数据库中。

strtoupper( md5( uniqid(rand(), TRUE ) ) );

是否有可能通过上述函数生成相同的哈希键???

4

2 回答 2

2

uniqid 是以毫秒为单位的时间,将其与随机前缀结合起来,这是极不可能的。

有关 uniqid 的更多信息,请参见下文: PHP: uniqid - Manual

于 2012-04-26T07:45:27.417 回答
1

尽管uniqueid函数生成的唯一值确实非常唯一,但是在使用MD5哈希算法时还是有相当大的可能发生冲突(即不同的值会产生相同的哈希值)。事实上,MD5 被US-CERT认为是“密码损坏且不适合进一步使用” ,如果您担心冲突,您应该考虑改用 SHA256/SHA512 算法。

于 2012-04-26T07:47:44.553 回答