• 企业400电话
  • 微网小程序
  • AI电话机器人
  • 电商代运营
  • 全 部 栏 目

    企业400电话 网络优化推广 AI电话机器人 呼叫中心 网站建设 商标✡知产 微网小程序 电商运营 彩铃•短信 增值拓展业务
    如何给MD5加上salt随机盐值

    如何加点盐(salt)?

    为了加强MD5的安全性,从而加入了新的算法部分即加盐值,加盐值是随机生成的一组字符串,可以包括随机的大小写字母、数字、字符,位数可以根据要求而不一样,使用不同的加盐值产生的最终密文是不一样的:

         1).首先我们得到的是明文的hash值

         2).进行计算获取MD5明文hash值

         3).随机生成加盐值并插入

         4).MD5插入加盐值得到的hash

         5).得到最终的密文

    看一个简单的加salt函数:

    /**
     * MD5加SALT函数
     * by http://www.phpddt.com
     */
    function do_hash($psw) {
      $salt = 'fdsafagfdgv43532ju76jM'; //定义一个salt值,最好够长,或者随机
      return md5($psw . $salt); //返回加salt后的散列
    }

    注意:

    如果你是随机生成salt值就得放入数据库,不要用time()时间戳啥的,那样别人不就可以枚举了嘛,如果你嫌麻烦,可以配置一个复杂的salt值,如上,两种方法各有优点。

    另一种复杂点加密方法:

    function PassCrypt($ManagerPassword)
    {
    $ManagerPassword=md5($ManagerPassword);
    $Salt=substr($ManagerPassword,-1,3);
    $ManagerPassword=crypt($ManagerPassword,$Salt);
    Return $ManagerPassword;
    }

    这样先把密码用MD5加密,然后截取其结果的一段,再用crypt加密,因为这两个加密函数都是单向的,所以就没有人能破解的了了,而且加密后的最终密码是13位的,无论谁拿到手都不知道该怎么破解了,在密码验证时只需要将原始密码用加密函数再加密一编进行匹配就行了。

    总结

    以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流。

    您可能感兴趣的文章:
    • php md5下16位和32位的实现代码
    • Python使用MD5加密字符串示例
    • jQuery MD5加密实现代码
    • java实现md5加密示例
    • Md5密码在线破解
    • 使用java获取md5值的两种方法
    • PHP中MD5函数使用实例代码
    • php 的加密函数 md5,crypt,base64_encode 等使用介绍
    • Python的加密模块md5、sha、crypt使用实例
    • Java生成MD5加密字符串代码实例
    上一篇:git分支的创建、切换、合并及删除操作小结
    下一篇:算法系列15天速成 第十二天 树操作【中】
  • 相关文章
  • 

    © 2016-2020 巨人网络通讯 版权所有

    《增值电信业务经营许可证》 苏ICP备15040257号-8

    如何给MD5加上salt随机盐值 如何,给,MD5,加上,salt,随机,