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

yipeiwu_com6年前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性能的原理介绍

但当您使用的数据库与 Web 服务器位于不同的计算机上时,缓存数据库结果集通常是一个不错的方法。不过,根据您的情况确定最佳的缓存策略却是一个难题。例如,对于使用最新数据库结果集比较重要的...

关于JSON以及JSON在PHP中的应用技巧

JSON 基础 简单地说,JSON 可以将 JavaScript 对象中表示的一组数据转换为字符串,然后就可以在函数之间轻松地传递这个字符串,或者在异步应用程序中将字符串从 Web 客户...

PHP并发多进程处理利器Gearman使用介绍

PHP并发多进程处理利器Gearman使用介绍

工作中我们有时候会遇到比如需要同时发布数据到多个个服务器上,或者同时处理多个任务。可以使用PHP的curl_multi的方式并发处理请求,但是由于网络和数据以及各个服务器等等的一些情况导...

PHP 命令行工具 shell_exec, exec, passthru, system详细使用介绍

PHP 命令行工具 shell_exec, exec, passthru, system详细使用介绍

所有这些命令都衍生一个子进程,用于运行您指定的命令或脚本,并且每个子进程会在命令输出写到标准输出 (stdout) 时捕捉它们。 shell_exec() shell_exec() 命令...

PHP实现可添加水印与生成缩略图的图片处理工具类

PHP实现可添加水印与生成缩略图的图片处理工具类

本文实例讲述了PHP实现可添加水印与生成缩略图的图片处理工具类。分享给大家供大家参考,具体如下: ImageTool.class.php <?php class Ima...