主题:【原创】说些关于中国密码的事吧 -- ragtime
我觉得(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也不是正确结果。周末好好想想。。。
(老兄要忙,就不要理我了,让我一个人意淫吧)
- 相关回复 上下关系8
压缩 4 层
见内 1 ragtime 字351 2006-04-11 21:08:08
😥多谢了先,匆匆回一下。。。 面壁 字238 2006-04-12 06:01:42
🙂明白你意思了 2 ragtime 字364 2006-04-12 16:02:03
🙂周末好好想想。。。
🙂这样空对空说很难解决问题 1 ragtime 字144 2006-04-14 14:16:53