免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12下一页
最近访问板块 发新帖
查看: 14902 | 回复: 10
打印 上一主题 下一主题

[ldap] LDAP SSHA 密码怎么有两种长度 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2006-09-12 11:39 |只看该作者 |倒序浏览
我用slappasswd -h {SSHA} 生成的密码总共是38位的, 现在服务器上的密码是46位的,类似于下面这个
userpassword={SSHA}cYH1lop+FfWT5Ttua1h8P7x/xEZePQsLP2KIaA==,
结果密码验证失败.

密码长度不同的区别是什么,编码方式不一样? 还是密钥长度不同?

论坛徽章:
1
2015年辞旧岁徽章
日期:2015-03-03 16:54:15
2 [报告]
发表于 2006-09-12 17:50 |只看该作者
46位的密码是如何生成的?

论坛徽章:
0
3 [报告]
发表于 2006-09-13 09:27 |只看该作者
46位的密码是在iplanet生成的。看起来似乎是seed有8个字节,但是加密又不是SHA1。
若说是SHA2吧,hash结果长度又有些不对劲,一般sha2长度从256位开始,难道是SHA-224?

论坛徽章:
1
2015年辞旧岁徽章
日期:2015-03-03 16:54:15
4 [报告]
发表于 2006-09-13 21:50 |只看该作者
对iplanet不了解,找到了答案告诉大家吧:)

论坛徽章:
0
5 [报告]
发表于 2006-12-17 12:03 |只看该作者
呵呵,给一点意见,

你生成的是38位,如果要想存在ldap中,则先要把它变成bin形的, 也就是说你得先用base64,进行一下编码

base64编过的字符串基本上要比原来的长1/3,  我看了一下它给出的是48位,好像正好比你的长1/3。

论坛徽章:
0
6 [报告]
发表于 2006-12-19 09:45 |只看该作者
我觉得我前面的说法还是不太准确,要搞清楚这个事情还是得从SSHA算法说起,

因为网上很少有人说到SSHA的具体过程,我就翻了一下jxplorer的源码。

SSHA加密其实就是SHA-1的算法玩了一点小花样,

比如将明文A进行摘要算法之前,先给A加上一个随机明文b,也就是对A+b进行SHA-1的摘要运算,

得到摘要C,这个时候摘要C是定长的20位吧,

然后,在目录存储的时候是 将{SSHA}+C+b,一起进行base64编码然后存储到目录中,

在做密码较验的时候,得要从目录中取出摘要{SSHA}+C+b,然后除掉{SSHA}+C,得到b,

用b和你要较验的密码进行摘要运算, 然后你就可以和原来的摘要对比看是不是相等了。

这样来看的话{SSHA}+C+b,不见得是定长的了,不过C一定是定长的。

一点拙见,请指正。

论坛徽章:
1
2015年辞旧岁徽章
日期:2015-03-03 16:54:15
7 [报告]
发表于 2006-12-20 01:17 |只看该作者
原帖由 wangbaohua 于 2006-12-19 09:45 发表
我觉得我前面的说法还是不太准确,要搞清楚这个事情还是得从SSHA算法说起,

因为网上很少有人说到SSHA的具体过程,我就翻了一下jxplorer的源码。

SSHA加密其实就是SHA-1的算法玩了一点小花样,

比如将明 ...

我对加密的相关问题很不了解
你上面说"然后,在目录存储的时候是 将{SSHA}+C+b,一起进行base64编码然后存储到目录中,"
这里的{SSHA}是什么? 我知道在做目录存储的时候都是做了base64, 这样的话如果{SSHA}+C+b是定长base64编码后的结果应该也是定长吧?

论坛徽章:
0
8 [报告]
发表于 2006-12-20 14:16 |只看该作者
从目录中取出来的密码,形式都是如{SSHA}9b0KzVhjjylEt9rFV1Drpk6wnAX+ChZErlCeXw==
其中{SSHA}中表明加密的算法,摘要算法算出来的密文都是定长的,
所以{SSHA}+C  是定长的,

但b不一定是定长的,因为这要看b这个随机数的大小

所以{SSHA}+C+b不见得定长。

论坛徽章:
1
2015年辞旧岁徽章
日期:2015-03-03 16:54:15
9 [报告]
发表于 2006-12-20 18:27 |只看该作者
明白了
这个b如果不是定长, 那SSHA也没有规定这个随机明文b的长度限制, 这样,不同的程序产生的{SSHA}密文长度就会不同. 这应该不会影响认证的结果吧?

论坛徽章:
0
10 [报告]
发表于 2006-12-20 19:46 |只看该作者
在做密码较验的时候,因为{SSHA}+C是定长的,所以b是可以二次取得的,

得到b,用b和你要较验的密码进行摘要运算, 然后你就可以和原来的摘要对比看是不是相等了。

所以是没有问题的。我专门写了代码实现,测试通过

[ 本帖最后由 wangbaohua 于 2006-12-20 21:10 编辑 ]
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP