西西河

主题:【原创】说些关于中国密码的事吧 -- ragtime

共:💬28 🌺29
全看分页树展 · 主题 跟帖
家园 周末好好想想。。。

我觉得(1)和(2)还是有区别的,因为每一步都要与512位的message 的其中32位相加。不过两个都不麻烦,改改就行,只要结果是简单相连,看看ABCD的值就行了。但都输不出正确结果,应该是我程序的问题。

A: 01 23 45 67

B: 89 ab cd ef

C: fe dc ba 98

D: 76 54 32 10

代码实现时就变成:

A = 0x67452301;

B = 0xefcdab89;

C = 0x98badcfe;

D = 0x10325476;

何解?

又发现一点:

.NET(win32)下的long的最大数是0x7fffffff, 算法给出的大部分常数都大于它,是不是因此会产生错误? 而unix下的long是64位,会好些?(记不清了,我周末用unix比较麻烦)

还有,是用C++写的,用了bitset<N>这个东东,写”+“重载时, 返回值用了reference, 又是这个Debug编译,返回值referece(&)和不加referece(&)竟然不一样!? 而用release编译两者相同。 用relese编译完后,有一句:“代码生成结束。”而Debug编译完就没有这句话。 我想,是不是relese是最终的编译?

换成long也不是正确结果。周末好好想想。。。

(老兄要忙,就不要理我了,让我一个人意淫吧)

全看分页树展 · 主题 跟帖


有趣有益,互惠互利;开阔视野,博采众长。
虚拟的网络,真实的人。天南地北客,相逢皆朋友

Copyright © cchere 西西河