下面这段代码是c++的 据说火山pc是跟vs使用的同一个编译器 某大佬说 c++代码转火山较易 我从易语言转到火山来的 但是这段实在没技术翻译 请求大佬们 翻译成火山代码
内容是两个算法 下面是两个算法 跪求大佬帮助!
string UserLogin_Up(string 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];
if (mCode < 0)
{
mCode = -mCode;
retVal = retVal + "-";
}
char temp[32];
ltoa(mCode, temp, 16);
retVal = retVal + temp + ",";
}
return base64_encode(retVal.c_str(), retVal.length());
}
string UserLogin_Down(string varIn)
{
int mKey[] = { 160,229,238,42,181,60,230,211,66,185,135,10,132,111,36,52,197 };
int mKeyLen = 17;
varIn = base64_decode(varIn.c_str(), varIn.length());
std::vector<string> v = split(varIn, ",");
string retVal;
for (std::vector<string>::size_type i = 0; i != v.size(); ++i)
{
int d;
if (v[i][0] == '-')
{
sscanf(v[i].substr(1).c_str(), "%x", &d);
d = -d;
}
else
{
sscanf(v[i].c_str(), "%x", &d);
}
retVal = retVal + (char)((d ^ mKey[i % mKeyLen]) -94);
}
return retVal;
}
|