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

yipeiwu_com7年前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加密

经过【宜配屋www.yipeiwu.com】测试结果如下:

我们以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 应用程序安全防范技术研究

PHP安全防范程序模型 复制代码 代码如下:   /* PHP防注入跨站V1.0   在您的页面顶部添加: require(“menzhi_injection.php”);   即可实现...

PHP中echo和print的区别

一般来说,PHP中动态输出HTML内容,是通过print 和 echo 语句来实现的,在实际使用中, print 和 echo 两者的功能几乎是完全一样。可以这么说,凡是有一个可以使用的...

PHP在字符断点处截断文字的实现代码

复制代码 代码如下: //所谓断字 (word break),即一个单词可在转行时断开的地方。这一函数将在断字处截断字符串。 // Please acknowledge use of t...

必须收藏的php实用代码片段

在编写代码的时候有个神奇的工具总是好的!下面这里收集了 40+ PHP 代码片段,可以帮助你开发PHP 项目。 之前已经为大家分享了《必须收藏的23个php实用代码片段》。 这些PHP...

php编译安装php-amq扩展简明教程

本文讲述了php编译安装php-amq扩展的方法。分享给大家供大家参考,具体如下: 用途:这个扩展是用来操作rabbitmq服务端的 一、安装总括 1、编译安装librabbitmq库...