您好,感谢您抽出宝贵时间帮助我。
我正在开发一个 Web 应用程序,我需要加密一些通过 GET 请求传递的信息/字符串,我不希望有人能够读取它、轻松破解加密或能够暴力破解它。
所以我想出了这段代码来加密/解密它
function encriptDecript($string, $key) {
for($i = 0; $i < strlen($string); $i++)
// the brain of this code is this, i think its XOR, but not sure if I did it the right way
$string[$i] = chr(ord($string[$i]) ^ $key);
//btw I have also tried this which makes it possible to put strings as keys i guess? idk im confused
$string[$i] = chr(ord($string[$i]) ^ ord($key) );
return $string;
}
echo encriptDecript("Random sentence", 17);
让我烦恼的一件事是这个功能多么简单(尤其是关键)。
我的脑海中有这样一张图,有经验的人会知道他们正在处理 XOR 可以制作随机的 Python 脚本或其他东西,通过 17 次尝试(因为我的密钥是 17)来强制执行此操作。
顺便说一句,他们可以知道什么将被加密,因为他们提供了“随机句子”,他们唯一要做的就是猜测我的密钥 -> 这是“17”(超猜测)
我是对的还是这个代码是牢不可破的?如果我错了,请提出更好的方法,但请记住,它必须是双向加密(不像哈希)。
另外请记住,我是初学者,很多事情都在我头上哈哈。