gpt4 book ai didi

C++简单凯撒密码算法

转载 作者:行者123 更新时间:2023-11-30 02:59:38 25 4
gpt4 key购买 nike

我正在尝试制作一个非常简单的凯撒密码算法来加密和解密我游戏中玩家的数据,但我得到了一些奇怪的结果。算法的任务很简单,只需向前或向后推游戏中的字符ascii 表。

std::string Encrypt(std::string in,int key)
{
const char* chars=in.data();
char* newchar=(char*)malloc(sizeof(char)*in.length());
for(int c=0;c<in.length();c++)
{
newchar[c]=char(((int)chars[c])+key);//I suspect somewhere here is the problem
}

std::string out(newchar);
return out;
}

LOGI("encrypt:%s",Encrypt("hello",10).data());
LOGI("decrypt:%s",Encrypt(Encrypt("hello",10),-10).data());

输出:

encrypt:rovvyu@ 
decrypt:hellok

我对加密知之甚少,我对 ascii 和整个字符在 c 中的工作原理知之甚少

最佳答案

std::string Encrypt(const std::string & in, int key)
{
std::string out(in);
for(int i=0; i < in.length(); ++i)
{
out[i] += key;
}
return out;
}

关于C++简单凯撒密码算法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12761720/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com