首页 > 学院 > 开发设计 > 正文

实现基于IDEA算法的加密工具(5)

2019-11-17 04:38:56
字体:
来源:转载
供稿:网友

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);

}


发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表