这篇文章主要介绍了php随机生成唯一hash值自定义函数,本文先是给出了需求,然后给出了实现代码,需要的朋友可以参考下
网上有很多种方法获取随机唯一的hash值,但是大同小异:
1、先获取随机的唯一字符串
2、进行md5或者sha1算hash值
一个项目要用到hash值,就去网上找了找,却发现php有一个函数能直接生成唯一字符串——uniqid(),通过使用这个函数,再加上自己生成的随机数(防止被破解),更具有唯一性且不易被猜解。主要考虑问题如下:
1、随机的效率与随机性:rand和mt_rand函数的选择,首选mt_rand,效率高,,随机性好;
2、随机次数:选择5次,本来unniqid就是唯一的,加上随机的可以只是增强安全性,5次足矣
3、md5还是sha1:都能生成唯一的hash值,sha1占用资源可能高点,但是微乎其微,如果考虑数据库存储的小写,可以使用md5(32位长度)