<div class="codetitle"><a style="CURSOR: pointer" data="86658" class="copybut" id="copybut86658" onclick="doCopy('code86658')"> 代码如下:<div class="codebody" id="code86658"> <?php echosubstr(md5("admin"),8,16);//16位MD5加密 echo" "; echomd5("admin");//32位MD5加密 ?> 16位的MD5加密用substr函数截取了字符得到实现.... 不想深入研究了:)要把脑力放到其他关键的地方~~ 今天做了个php链接mssql数据库,数据库中的表中字段使用MD5十六加密的。但是php中的MD5默认是32位,导致登录程序没办法使用md5加密跟表中字段匹配,在网上一搜也有不少人有这方面的困惑,后来找到一个解决办法,是正确的,就记录下来。 使用substr函数截取: substr(md5("admin"),16); // 16位MD5加密 md5("admin"); // 32位MD5加密 经过编程之家测试结果如下:
我们以asp的几个md5后的结果比较 附:如果遇到MD5加密文件,而又不知道的密码的,请在数据库中换上这组加密的数据。 admin---16位加密---7a57a5a743894a0e admin---32位加密---21232f297a57a5a743894a0e4a801fc3 admin---40位加密---7a57a5a743894a0e4a801fc343894a0e4a801fc3substr(md5("admin"),16); // 16位MD5加密 正是上面的32为从第8个字符开始的16个字符。所以大家不用考虑唯一性的问题。本身就是正确的。网上有人说php5支持 <div class="codetitle"><a style="CURSOR: pointer" data="78372" class="copybut" id="copybut78372" onclick="doCopy('code78372')"> 代码如下:<div class="codebody" id="code78372"> echo md5("admin",true);//返回16位,不过这是在PHP5里才有。
经测试输出的结果是乱码,如果大家有什么好的代码,可以分享下。 (编辑:李大同)
【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!
|