能力值:
(RANK:420 )
|
-
-
2 楼
f : A --> B . 输入为A, 长度不固定. 输出为B, 一般B的长度是定好的
我建議把 “一般”這個字去掉,雖然我知道 jackozoo 很口語的表達這個敘述。
除了 Pre-image 之外,是否方便,再為我們大家介紹 Second Pre-image 及 Collision 等概念。
謝謝。
|
能力值:
(RANK:680 )
|
-
-
3 楼
Second Pre-image 及 Collision 这些我都不了解, 我还菜的很~
我的chap12是讲HASH应用的, 呵呵. 所以HASH Cipher的深层次东西就不用我讲了, 我也将不了的 ~
我本来打算把这贴删掉的~ 最后想还是算了~
见笑了, ~ 随便写的一烂帖~
|
能力值:
(RANK:420 )
|
-
-
4 楼
說的很簡單,清楚及易懂啊。
你這樣說,就客氣過頭囉。
|
能力值:
(RANK: )
|
-
-
5 楼
其实你写的这两个示范程序都有问题, 虽然原理上你说对了, (A+B) % C = A%C + B%C, 但代码中还是没处理好溢出的问题.
第一个例子: 假设 A[] = { 0xff, 0xff, 0xff};
i = 0, B = 0 + 0xff = 0xff, B%256=0xff
i = 1, B = 0xff + 0xff = 0xfe, B%256=0xfe <=== 在%256前B已经溢出了.
好在是%256, 要是%255怎么办?
第二个例子: 首先, 初始值 B=0 ?! 乘法, 应该是1吧?
假设 str[] = { 0xff, 0xff, 0xff, 0xff, 0xff};
i = 0, B = 1 * 0xff = 0x0ff, B%0xffffffff=0x0ff
i = 1, B = 0xff * 0xff = 0xfe01, B%0xffffffff=0xfe01
i = 2, B = 0xff * 0xfe01 = 0xfd02ff, B%0xffffffff=0xfd02ff
i = 3, B = 0xff * 0xfd02ff = 0xfc05fc01, B%0xffffffff=0xfc05fc01
i = 4, B = 0xff * 0xfc05fc01 = 0x09f604ff, B%0xffffffff=0x09f604ff <=== 在%0xffffffff前B已经溢出了. 实际值应该是0xfb09f604ff, %0xffffffff = 0x9f605fa.
正确的做法是第一个例子中B至少是16位的数, 第二个例子B至少是64位的数.
|
能力值:
( LV2,RANK:10 )
|
-
-
6 楼
楼主不厚道 明明是网上的帖子。。
|
能力值:
(RANK:680 )
|
-
-
7 楼
LS的你有什么证据? 你的处女贴就这样浪费了~
|
能力值:
(RANK:680 )
|
-
-
8 楼
[QUOTE=arab;642347]其实你写的这两个示范程序都有问题, 虽然原理上你说对了, (A+B) % C = A%C + B%C, 但代码中还是没处理好溢出的问题.
第一个例子: 假设 A[] = { 0xff, 0xff, 0xff};
i = 0, B = 0 + 0xff = 0xff, B%256=0xff
i ...[/QUOTE]
果然是一烂贴 , 该删掉的~
我当时就知道有溢出情况的, 不过心想管他了, 反正HASH吗, 别HASH到同一个值就好,, 呵呵、
结果那个累乘HASH那个,初始化为0确实太失败~
thanks arab分析如此详细~
|
能力值:
(RANK:680 )
|
-
-
9 楼
嗯, 自我批评下~ 发生了溢出就导致文章中的说明与代码不相符合的情况、
大家不要学我啊。 哈哈~
p。s 熬通宵后更是不要发帖, 昏昏的,打字都不带检查的
这真是一烂贴~ 幸好arab及时指出。 不然又要误导新手了~ 抱歉ing。。。
|
能力值:
( LV2,RANK:10 )
|
-
-
10 楼
呵呵,楼主精神可嘉,继续努力
|
能力值:
( LV3,RANK:20 )
|
-
-
11 楼
arab好厉害,很认真啊
|
能力值:
( LV2,RANK:10 )
|
-
-
12 楼
支持一下。我觉得刚开始,出点小差错大家应该多鼓励。
主要通过这样的方式,大家也能够学到想要学的东西。
对于错误进行讨论纠正就行,跟更能够加深认识。
|
能力值:
( LV2,RANK:10 )
|
-
-
13 楼
(A+B) % C = A%C + B%C . 好像不太对吧?
(5+10)%3 = 0
5%3 + 10%3=3
|
能力值:
(RANK:680 )
|
-
-
14 楼
感谢JINN指出, 这里的确有点问题.
(A+B)%C = (A%C+B%C)%C 这样比较好.
再次感谢JINN对文中纰漏的指出.
|
能力值:
(RANK:420 )
|
-
-
15 楼
|
能力值:
( LV2,RANK:10 )
|
-
-
16 楼
Hash值现在密码机都可以跑出来,抗碰撞性是不是没有传说中的那么强?
|
能力值:
( LV2,RANK:10 )
|
-
-
17 楼
不懂C++,但是的确有问题
|