php md5下16位和32位的实现代码
作者:bea
代码如下: <?php echosubstr(md5("admin"),8,16);//16位MD5加密 echo"<hr>"; echomd5("admin");//32位MD5加密 ?> 16位的MD5加密用substr函数截取了字符得到实现.... 不想深入研究了:)要把脑力放到其他关键的地方~~ 今天做了个php链接mssql数据库,数据库中的表中字段使用MD5十六加密的。但是php中的MD5默认是32位,导致登录程序没办法使用m
代码如下:
<?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设计模式介绍之值对象模式
- php设计模式介绍之编程惯用法
- php5 mysql分页实例代码
- Smarty安装配置方法
- php下使用以下代码连接并测试
- 也谈php网站在线人数统计
- php实现的在线人员函数库
- PHP循环获取GET和POST值的代码
- 生成卡号php代码
- PHP获取网卡地址的代码
- PHP防注入安全代码
- PHP中用header图片地址 简单隐藏图片源地址
- PHP中的extract的作用分析
- 如何在PHP程序中防止盗链
- php的access操作类
- php时间不正确的解决方法
- php Ajax乱码
- PHP提取中文首字母
- php出现Cannot modify header information问题的解决方法大全