首页
社区
课程
招聘
[求助]Linux用的是MD5的哪种变种?
发表于: 2005-3-18 00:17 5471

[求助]Linux用的是MD5的哪种变种?

2005-3-18 00:17
5471
最近看了段Linux上经过shadow的密文,全$1$开头,而且是34位,如:
    密码: jka01
    密文: $1$FVkDwAOa$g7Cr1dv8uec6t/wj0/g0b.
    密码: jkb01
    密文: $1$x2FWhdjE$f9cSG3twY6eC0jLK1qN6d1

    请问这是MD5的那种变种,如果可以的话最好给出源代码

[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!

收藏
免费 0
支持
分享
最新回复 (4)
雪    币: 281
活跃值: (2940)
能力值: ( LV12,RANK:610 )
在线值:
发帖
回帖
粉丝
2
linux内核的源代码遍地都是啊!

我印象中md5算法是专门有一个rfc定义的,
linux用的应该是标准md5算法。
2005-3-19 01:03
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
不是吧,我用《加密与解密》带的那个加密器算出来的不对啊,比如jka01算出来是数字开头的
2005-3-19 17:31
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
ASM
4
最初由 uk4cn 发布
jka01算出来是数字开头的


先要搞清char和hex
2005-3-19 18:10
0
雪    币: 211
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
2.3 MD5算法

它是真正的散列算法。允许无限长的口令。它使用的salt空间也别DES算法大得多,所以两口令相同的可能性更小。它也通过调用crypt(3)函数实现。MD5算法使用的 salt必须以$1$开头,并以$结尾。且salt长度为8个字符。例如要用abcdef为salt 散列mypass,那么如下:

%perl -e 'print crypt("mypass","\$1\$abcdef\$"),"\n"'
$1$abcdef$nRHvewzGzJoYskdQAIEQr

注:上例中的"\n"均为转义字符。salt值为$1$abcdef$,原始密码为mypass,散列值为:$1$abcdef$nRHvewzGzJoYskdQAIEQr
MD5算法得到的散列值为31个字符长,并且都以$1$开头。
2005-3-21 16:04
0
游客
登录 | 注册 方可回帖
返回
//