日期:2014-05-17  浏览次数:20831 次

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)
谢谢。
c c# 加密 指针

------解决方案--------------------
uint ushort 都可以表示无符号的数。

你这个直接用unsafe包一下,就能转成C#了。