直接贴代码
//单个字符异或运算
char encodeChar(char c,char key){return c^key;
}
//单个字符解密
char decodeChar(char c,char key){
return c^key;
}
void enciphering_ex(char *pstr,char *pkey){
if (NULL == pstr)
{
return ;
}
int len=strlen(pstr);//获取长度
int keyLen = strlen(pkey);
int i = 0;
for(i=0;i<len;i++)
*(pstr+i)=encodeChar(*(pstr+i),pkey[i%keyLen]);
return ;
}
void encrypt_ex(char * sIn, size_t iInlen) {
enciphering_ex(sIn,KEY);
return ;
}
//解密
void deciphering_ex(char *pstr,char *pkey){
if (NULL == pstr)
{
return ;
}
int len=strlen(pstr);
int keyLen = strlen(pkey);
int i = 0;
for(i=0;i<len;i++)
*(pstr+i)=decodeChar(*(pstr+i),pkey[i%keyLen]);
return ;
}
void decrypt_ex(char * sIn, size_t iInlen) {
deciphering_ex(sIn,KEY);
return ;
}
欢迎交流