wwfl.net
当前位置:首页 >> C语言写出的不标准mD5 31位加密代码,想用php重现... >>

C语言写出的不标准mD5 31位加密代码,想用php重现...

按照你所说的,你的老网站里那个错误的md5加密出来的密码不一定都是31位,有的肯定比31位还少。 下面这个php函数的作用就是计算一个原始密码对应的md5字符串,并且是按照你那个asp.net的错误方法计算的,你在新站点中使用这个php函数来计算用户...

为什么不直接MD5?

$user=$_GET['user']; $pass=md5($_GET['pass']); 此处是连接数据库查询指定用户密码加密的md5值; 如果用户录入的值与数据库中的值相等则登陆成功. 自己琢磨,多动手代码不多,很简单,不懂提问.

代码如下

$a = mt_rand(10000000,99999999);随机8位 $a .= mt_rand(10000000,99999999);随机16位 $a .= mt_rand(10000000,99999999);随机24位 //转换MD5 $b=MD5($a);//随机24位 + MD5

把这段密文分割成若干段,对每段都进行一次MD5运算,然后把这堆密文连成一个超长的字符串,最后再进行一次MD5运算,得到仍然是长度为32位的密文。

不可能,除非你的代码错了。或者你要加密的数据看着一样,实际不一样。 这种情况下,你最应该提供的是你的代码和原始数据,大家可以一起验证。

你知道下面的程序输出结果是多少吗? 结果是: d41d8cd98f00b204e9800998ecf8427e 上面的结果你是不是很眼熟呀,它就是你的结果呀,因为你的$_SESSION['pwd']为空,不信你输出看看。

md5是一种散列函数。php 中md5加密结果默认长度是32 位,可将任意长度的“字节串”变换成一个128bit的大整数,并且它是一个不可逆的字符串变换算法。该结果字符长度是固定的,而且是唯一的。示例:

一般是网站注册吧。

网站首页 | 网站地图
All rights reserved Powered by www.wwfl.net
copyright ©right 2010-2021。
内容来自网络,如有侵犯请联系客服。zhit325@qq.com