1
felixlong 2018-07-25 09:48:20 +08:00
把所有的值连起来。A+B => AB
|
2
bhy5899s OP @felixlong 但是 ABCDEFGH 这 8 个字每一个字都是 32 位的,这样连起来以后就不止 32 位了啊
|
3
zn 2018-07-25 10:05:24 +08:00 via iPhone
这个跟语言有关吧,你贴的代码是什么语言? C 还是伪代码?
|
4
FanWall 2018-07-25 10:14:45 +08:00 via Android
就是加法
第一行生成 64*32bit 的消息列表,下面的代码计算散列 |
5
kaifeii 2018-07-25 10:16:39 +08:00
是无符号加法的意思,所有的变量在过程中都可以用整数来代表。
|
6
bhy5899s OP @FanWall 那 32 位+32 位就变成 33 位了,33 位+33 位又会变成 34 位的。这样每个 32 位字的位数都会越来越长,最后得到哈希值的就不止 256 位了啊,我这点比较困惑,是不是加完还得做点其他运算。
|
7
bhy5899s OP @kaifeii 那 32 位+32 位就变成 33 位了,33 位+33 位又会变成 34 位的。这样每个 32 位字的位数都会越来越长,最后得到哈希值的就不止 256 位了啊,我这点比较困惑,是不是加完还得做点其他运算。
|
8
kaifeii 2018-07-25 10:35:22 +08:00
很简单,舍掉。
|
12
FanWall 2018-07-25 10:59:40 +08:00 via Android
@bhy5899s
#6 long + long = longlong ? #11 不觉得你懂了… 这里的代码是对每个 512bit 的消息块进行运算,更新初始的 8*32bit 的杂凑值,所有消息块迭代完成后才会得出结果。 |
13
429839446 2018-07-25 16:25:28 +08:00
![photo_2018-07-25_16-23-02.jpg]( https://i.loli.net/2018/07/25/5b5833800b201.jpg)
![photo_2018-07-25_16-22-57.jpg]( https://i.loli.net/2018/07/25/5b583380614b5.jpg) ![photo_2018-07-25_16-22-49.jpg]( https://i.loli.net/2018/07/25/5b58338061eb3.jpg) https://github.com/FanFansfan/qt-SHA512-demo 这个学期的信息安全课作业 |