|
发表于 2024-2-27 23:21:03
|
显示全部楼层
内蒙古自治区包头市
个人理解,给你翻译了下,
string UserLogin_Up(string varIn) { //输入参数varIn 文本型
int mKey[] = { 18,73,45,87,219,65,86,3,227,202,122,42,3,62,244,98,121,150,155,145,160,225,91,163 }; //密匙,可以看成是字节集
int mKeyLen = 24; //密匙长度
int varInLen = varIn.length(); //输入参数长度
string retVal; //定义一个字符串
for (int i = 0; i < varInLen; i++) //循环参数字符串长度
{
int mCode = varIn[i]; //取参数第一个字符
mCode = (mCode - 198) ^ mKey[i % mKeyLen]; //字符的十进制减去198和密匙的 (i和24取余)的下标进行位异或
if (mCode < 0) //判断是否为负数
{
mCode = -mCode; //取绝对值
retVal = retVal + "-"; 字符串前面写一个 -负号
}
char temp[32]; 定义一个字符串
ltoa(mCode, temp, 16); 把上面的位异或的结果转换成16进制并且放到字符串里面
retVal = retVal + temp + ","; 这里等于是输出 -F1,E8,-E9 这种格式
}
return base64_encode(retVal.c_str(), retVal.length()); ,把上面的字符串base64输出
} |
|