• 技术文章 >php教程 >php手册

    PHP随机生成唯一HASH值自定义函数,phphash自定义函数

    2016-06-13 09:06:22原创408

    PHP随机生成唯一HASH值自定义函数,phphash自定义函数


    网上有很多种方法获取随机唯一的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位长度)

    <?php
    function get_hash(){
      $chars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789!@#$%^&*()+-';
      $random = $chars[mt_rand(0,73)].$chars[mt_rand(0,73)].$chars[mt_rand(0,73)].$chars[mt_rand(0,73)].$chars[mt_rand(0,73)];//Random 5 times
      $content = uniqid().$random;  // 类似 5443e09c27bf4aB4uT
      return sha1($content); 
    }
    echo get_hash();
    ?>

    php入门到就业线上直播课:查看学习

    声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。

    前端(VUE)零基础到就业课程:点击学习

    清晰的学习路线+老师随时辅导答疑

    自己动手写 PHP MVC 框架:点击学习

    快速了解MVC架构、了解框架底层运行原理

    上一篇:解决ThinkPHP开启APP_DEBUG=&gt;false时报错的问题,thinkphpapp_debug 下一篇:自己动手写 PHP MVC 框架(40节精讲/巨细/新人进阶必看)

    相关文章推荐

    • ❤️‍🔥共22门课程,总价3725元,会员免费学• ❤️‍🔥接口自动化测试不想写代码?• smarty模板引擎从php中获取数据的方法,smarty模板• php利用新浪接口查询ip获取地理位置• mysql 数据备份类代码• 利用PHP实现智能文件类型检测的实现代码• 创建配置文件 用PHP写出自己的BLOG系统 2
    1/1

    PHP中文网