哈希函数sha256的两个问题,很困惑,请高手解答。

发布时间:2019-08-26 14:00:14

函数在加密的时候都会转成二进制运算吧,问题是:

1、sha256在给定的8个32位的初始散列值H(i)中。比如H(i)1=367cd507,转化成2进制=110110011111001101010100000111,只有30位,那需不需要在前面补上2个0凑到32位?

2、在计算散列值的时候会用到SHA256的迭代函数,比如T1 = h + BSIG1(e) + CH(e,f,g) + Kt + Wt会有二进制的加法运算。我是运算了一下。32位的二进制相加会变成33位的,33位跟32位相加则需要将32位的补到33位。然后33位的跟33位相加又变成了34位的,这样一直变长下去,最后8个散列值加起来就不止256位了啊。

这两个问题挺困惑的,请老师解惑!!

推荐回答

多出的高位舍掉就行了。

以上问题属网友观点,不代表本站立场,仅供参考!