C的代码请大侠帮忙改写成C#的,指针搞不明白
本帖最后由 wolma 于 2013-09-29 16:35:47 编辑
bool encrypt( unsigned int key, unsigned int M1, unsigned int IA1, unsigned int IC1, unsigned char *buf, unsigned int len )
{
if ( key == 0 ) key = 1 ;
// 处理加密
unsigned int mkey = M1;
if (0==mkey) mkey=1;
unsigned char *p = (unsigned char *)buf ;
int i = 0 ;
// 开始加密处理
while ( i < len ) {
key = IA1 * ( key % mkey) + IC1 ;
p[i++] ^= (unsigned char)( (key>>20) & 0xFF ) ;
}
return true;
}
希望得到返回加密字符串的方法 :
string encryptMsg(uint key1,uint M11, uint IA11, uint IC11, string src)
谢谢。
------解决方案--------------------uint ushort 都可以表示无符号的数。
你这个直接用unsafe包一下,就能转成C#了。