服务器之家

服务器之家 > 正文

php md5下16位和32位的实现代码

时间:2019-10-27 12:00     来源/作者:php代码网

代码如下:


<?php   
echo substr(md5("admin"),8,16);  // 16位MD5加密   
echo "<hr>";   
echo md5("admin");    // 32位MD5加密   
?>  

   
16位的MD5加密用substr函数截取了字符得到实现....  

不想深入研究了 :)  要把脑力放到其他关键的地方~~  

今天做了个php链接mssql数据库,数据库中的表中字段使用MD5十六加密的。但是php中的MD5默认是32位,导致登录程序没办法使用md5加密跟表中字段匹配,在网上一搜也有不少人有这方面的困惑,后来找到一个解决办法,是正确的,就记录下来。 

使用substr函数截取: 

substr(md5("admin"),8,16); // 16位MD5加密 

md5("admin"); // 32位MD5加密 

经过服务器之家测试结果如下:

我们以asp的几个md5后的结果比较
附:如果遇到MD5加密文件,而又不知道的密码的,请在数据库中换上这组加密的数据。 

admin---16位加密---7a57a5a743894a0e 
admin---32位加密---21232f297a57a5a743894a0e4a801fc3 
admin---40位加密---7a57a5a743894a0e4a801fc343894a0e4a801fc3

substr(md5("admin"),8,16); // 16位MD5加密 正是上面的32为从第8个字符开始的16个字符。所以大家不用考虑唯一性的问题。本身就是正确的。网上有人说php5支持

复制代码代码如下:


echo md5("admin",true);//返回16位,不过这是在PHP5里才有。


经测试输出的结果是乱码,如果大家有什么好的代码,可以分享下。

标签:
PHP Md5 

相关文章

热门资讯

玄元剑仙肉身有什么用 玄元剑仙肉身境界等级划分
玄元剑仙肉身有什么用 玄元剑仙肉身境界等级划分 2019-06-21
男生常说24816是什么意思?女生说13579是什么意思?
男生常说24816是什么意思?女生说13579是什么意思? 2019-09-17
华为nova5pro和p30pro哪个好 华为nova5pro和华为p30pro对比详情
华为nova5pro和p30pro哪个好 华为nova5pro和华为p30pro对比详情 2019-06-22
超A是什么意思 你好a表达的是什么
超A是什么意思 你好a表达的是什么 2019-06-06
抖音撒撒累累是什么歌 撒撒累累张艺兴歌曲名字
抖音撒撒累累是什么歌 撒撒累累张艺兴歌曲名字 2019-06-05
返回顶部