62,267
社区成员
发帖
与我相关
我的任务
分享
private string JiaMi(string strSource, byte Key1, int Key2)
{
byte bLowData = 0;
byte bHigData = 0;
int i = 0;
string strEncrypt = null;
string strChar = null;
for (i = 1; i <= Strings.Len(strSource); i++) {
//从待加(解)密字符串中取出一个字符
strChar = Strings.Mid(strSource, i, 1);//Mid函数这个用substring(strSource,i,1)
//取字符的低字节和Key1进行异或运算
bLowData = AscB(MidB(strChar, 1, 1)) ^ Key1;
//取字符的高字节和K2进行异或运算
bHigData = AscB(MidB(strChar, 2, 1)) ^ Key2;
//将运算后的数据合成新的字符
if (Strings.Len(Conversion.Hex(bLowData)) == 1) {//Conversion.Hex(bLowData)也得改
strEncrypt = strEncrypt + "0" + Conversion.Hex(bLowData);
} else {
strEncrypt = strEncrypt + Conversion.Hex(bLowData);
}
if (Strings.Len(Conversion.Hex(bHigData)) == 1) {
strEncrypt = strEncrypt + "0" + Conversion.Hex(bHigData);
} else {
strEncrypt = strEncrypt + Conversion.Hex(bHigData);
}
}
return strEncrypt;
}
private string JiaMi(string strSource, byte Key1, int Key2)
{
byte bLowData = 0;
byte bHigData = 0;
int i = 0;
string strEncrypt = null;
string strChar = null;
for (i = 1; i <= Strings.Len(strSource); i++) {
//从待加(解)密字符串中取出一个字符
strChar = Strings.Mid(strSource, i, 1);
//取字符的低字节和Key1进行异或运算
bLowData = AscB(MidB(strChar, 1, 1)) ^ Key1;
//取字符的高字节和K2进行异或运算
bHigData = AscB(MidB(strChar, 2, 1)) ^ Key2;
//将运算后的数据合成新的字符
if (Strings.Len(Conversion.Hex(bLowData)) == 1) {
strEncrypt = strEncrypt + "0" + Conversion.Hex(bLowData);
} else {
strEncrypt = strEncrypt + Conversion.Hex(bLowData);
}
if (Strings.Len(Conversion.Hex(bHigData)) == 1) {
strEncrypt = strEncrypt + "0" + Conversion.Hex(bHigData);
} else {
strEncrypt = strEncrypt + Conversion.Hex(bHigData);
}
}
return strEncrypt;
}