简单加密方法
目前Monkey Coder们常用到很多加密算法,用于数据安全。
这里我从简单到复杂,列举3个常用的加密方法
第一、 按位异或 第二、循环位移 第三、MD5加密
第一、 按位异或:
#define LOCALPASSLEN 4 //这里是4,是因为我以4个字节为异或对象
void MStorage_EncryptLocalPass(char *pwLoaclPass)
{
int i = 0;
char pass1[LOCALPASSLEN+1] = {"LOVE"}; //这里定义了一个任意4字节
char pass2[LOCALPASSLEN+1] = {"ZHAO"}; //这里又定义了一个任意4字节
while( pwLoaclPass[i] != 0 )
{
pwLoaclPass[i] = pass1[ i % 4 ] ^ pwLoaclPass[i]; //以4字节按字节循环异或
pwLoaclPass[i] = pass2[ i % 4 ] ^ pwLoaclPass[i]; //同上
i++;
}
}
char szData[ 50 ] = “I Love Zhao. He is a Monkey Coder!”;
加密:
MStorage_EncryptLocalPass( szData );
解密:
MStorage_EncryptLocalPass( szData );
哈哈,加密、解密是同样的方法调用,就是这么简单。
解释一下:
原码 = 1001
异或原码 = 0111
加密码 = 原码 ^ 异或原码 = 1001 ^ 0111 = 1110
解密 = 加密码 ^异或原码 = 1110 ^ 0111 = 1001 == 原码
看懂这个就知道什么是异或加密了。(*^__^*) 嘻嘻。
第二、 循环位移
第三、 MD5加密