任何媒体不得转载 3.4注意事项 由于在IDEA中采用了乘法运算,这就要考虑到两个乘数是否为0 的情况,如果两个乘数都为0,那么乘法运算结果为0,如果仅有一个乘数为0,那么用65536替换那个为0的乘数,取乘法运算结果的低16位作为输出结果. INT32 MUL( ULONG16 a, ULONG16 b)/*(a*b)*/ { ULONG32 p; if ( a == 0 && b == 0 ) { p = 0 ; } else if ( a == 0 ) { p = 65536*(ULONG32)b; } else if ( b == 0) { p = 65536*(ULONG32)a; } else { p = (ULONG32)a*(ULONG32)b; } return (ULONG16 )(p%65537); } |
正在阅读:实现基于IDEA算法的加密工具(5)实现基于IDEA算法的加密工具(5)
2004-02-14 09:34
出处:PConline
责任编辑:zwg