LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 1246|回复: 13

关于lumaQQ中的MD5

[复制链接]
发表于 2005-6-4 06:42:06 | 显示全部楼层 |阅读模式
开发文档中说对用户的密码进行了2次md5加密~~~

源代码中有这样的一句话:
public void setPassword(String pwd) {
        md5pwd = Util.doMD5(Util.doMD5(pwd.getBytes()));
    }

举个例子:

假如用户的密码为1247

那么第一次md5之后的密码应该是:e6d8545daa42d5ced125a4bf747b3688

然后第二次是对:e6d8545daa42d5ced125a4bf747b3688这个字符串加密

密文应该为:b00f23de73407756aeba82d8ef9d77b3

但是我在调试lumaQQ中加密段的时候,发现最后的密码并不是我所认为的二次加密~~~

我的思路肯定是错了,望指教~~~~~~
发表于 2005-6-4 10:23:49 | 显示全部楼层
如果我没记错,应该是每次加密的结果截取前16位
回复 支持 反对

使用道具 举报

 楼主| 发表于 2005-6-4 13:03:27 | 显示全部楼层
按照楼上的方法试了,结果还是和lumaqq中的不一样~
回复 支持 反对

使用道具 举报

发表于 2005-6-4 21:43:16 | 显示全部楼层
汗,不是你这样理解的
e6d8545daa42d5ced125a4bf747b3688
这个只是16进制的ASCII字符串,给你看的
回复 支持 反对

使用道具 举报

 楼主| 发表于 2005-6-5 23:19:03 | 显示全部楼层
但是为什么第一次的结果是一样的~~~~
我在调试lumaQQ的时候,发现第一次md5之后的结果和我md5之后的结果是一样的~~

但是第二次就不一样了
回复 支持 反对

使用道具 举报

 楼主| 发表于 2005-6-7 05:15:07 | 显示全部楼层
Post by lemony
按照楼上的方法试了,结果还是和lumaqq中的不一样~

那么第二次加密的明文应该是什么?
回复 支持 反对

使用道具 举报

发表于 2005-6-7 08:43:52 | 显示全部楼层
第二次加密时,先要把第一次加密后的密文
比如e6d8545daa42d5ced125a4bf747b3688
按每两位一个字节(十六进制)转化成一个16字节的东西作为明文
回复 支持 反对

使用道具 举报

 楼主| 发表于 2005-6-8 01:24:47 | 显示全部楼层
Post by bood
第二次加密时,先要把第一次加密后的密文
比如e6d8545daa42d5ced125a4bf747b3688
按每两位一个字节(十六进制)转化成一个16字节的东西作为明文

可否详细讲解一下~
回复 支持 反对

使用道具 举报

发表于 2005-6-10 14:40:11 | 显示全部楼层
够详细的了吧...
比如第一次得到:e6d8545daa42d5ced125a4bf747b3688
e6作为十六进制不是可以得到一个相应的字节么
d8,54,。。。
转换后就得到一个16个字节的东西,把这个作为第二次的明文就ok了

1247得到的密文应该是3735A43F24FF4C1A14FD704173BCBEEB
回复 支持 反对

使用道具 举报

 楼主| 发表于 2005-6-13 17:47:13 | 显示全部楼层
你的意思我明白,但是我加密之后第二次的结果就是:e6d8545daa42d5ced125a4bf747b3688

如何将每两个字符转成你说的那个东西~
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表