(1)//如下,字符串加密
inline void SimpleEcryptXOR2(char *value, char cBgnInit, char cEndInit)
{
int len=int(strlen(value));
for(int iRight=0;iRight<len-1;iRight++)
{
if(value[iRight]!=value[iRight+1]) //防止出现空字符
value[iRight]^=value[iRight+1];
}
if(value[len-1]!=cEndInit)value[len-1]^=cEndInit; //如无if,当字串结尾出现与cEndInit相同的字符时,则解密时会形成
乱码
for(int iLeft=len-1;iLeft>0;iLeft--) //对未加密到的部分加密,对加密到的部分再加密
{
if(value[iLeft]!=value[iLeft-1])
value[iLeft]^=value[iLeft-1];
}
if(value[0]!=cBgnInit)value[0]^=cBgnInit; //如无if,当字串开头连续出现两个与cBgnInit相同的字符时,会形成空串
}
//字符串解密
inline void SimpleDecryptXOR2(char *value, char cBgnInit, char cEndInit)
{
int len=int(strlen(value));
if(len>0)
{
if(value[0]!=cBgnInit)value[0]^=cBgnI