Java开发网 Java开发网
注册 | 登录 | 帮助 | 搜索 | 排行榜 | 发帖统计  

您没有登录

» Java开发网 » Java Security  

按打印兼容模式打印这个话题 打印话题    把这个话题寄给朋友 寄给朋友    该主题的所有更新都将Email到你的邮箱 订阅主题
flat modethreaded modego to previous topicgo to next topicgo to back
作者 SHA既然不可逆 怎么算出key呢?
jigsaw

KK

CJSDN高级会员


发贴: 3666
积分: 93
于 2004-02-19 10:42 user profilesend a private message to usersearch all posts byselect and copy to clipboard. 
ie only, sorry for netscape users:-)add this post to my favorite list
err...是这样的
一个软件对key的验算步骤如下:

1.用算法A从key得到一个byte[] bytesA;
2.用SHA从key得到一个byte[] bytesB;
3.对比bytesA和bytesB的前16位是否完全相同,相同则这个key通过验证。

其中算法A大致是从一个String,生成一个BigInteger,然后用
BigInteger.toByteArray()生成一个byte[];
用SHA算出来的指纹是20位的,但这个验证只取前16位,并对第一个字节进行了位操作。

我觉得奇怪的是,既然SHA是不可逆的,那软件厂商是怎么算出合法的key的
呢?

可能有点弱智的问题 还请各位大大教教 谢了



No one knows except both of us.
909090909090909090909090909090909090909090b8533ce76c8d6c241868968a0408c338b4ffbf
ISO/IEC 9899:1999
作者 Re:SHA既然不可逆 怎么算出key呢? [Re:jigsaw]
menzy



版主


发贴: 754
积分: 113
于 2004-02-19 12:11 user profilesend a private message to usersearch all posts byselect and copy to clipboard. 
ie only, sorry for netscape users:-)add this post to my favorite list
我觉得这种验证不是严格的,另外,如果该算法能够实现不严格验证,他一定能够满足如下条件:此算法应当产生和SHA1同样的指纹


作者 Re:SHA既然不可逆 怎么算出key呢? [Re:jigsaw]
jigsaw

KK

CJSDN高级会员


发贴: 3666
积分: 93
于 2004-02-20 08:47 user profilesend a private message to usersearch all posts byselect and copy to clipboard. 
ie only, sorry for netscape users:-)add this post to my favorite list
噢。。。谢谢


No one knows except both of us.
909090909090909090909090909090909090909090b8533ce76c8d6c241868968a0408c338b4ffbf
ISO/IEC 9899:1999
作者 Re:SHA既然不可逆 怎么算出key呢? [Re:jigsaw]
Wendy0007





发贴: 120
积分: 0
于 2004-04-06 11:08 user profilesend a private message to usersearch all posts byselect and copy to clipboard. 
ie only, sorry for netscape users:-)add this post to my favorite list
很高深的问题哦^_^



flat modethreaded modego to previous topicgo to next topicgo to back
  已读帖子
  新的帖子
  被删除的帖子
Jump to the top of page

   Powered by Jute Powerful Forum® Version Jute 1.5.6 Ent
Copyright © 2002-2021 Cjsdn Team. All Righits Reserved. 闽ICP备05005120号-1
客服电话 18559299278    客服信箱 714923@qq.com    客服QQ 714923