gpt4 book ai didi

c++ - 字符串值的安全性如何?

转载 作者:行者123 更新时间:2023-12-03 07:11:59 24 4
gpt4 key购买 nike

抱歉,这是一个愚蠢的问题,但是我到处都是,找不到任何好的信息。采取以下程序:

#include <string>
#include <iostream>

constexpr std::string correct_pin = "1874";
std::string response;

int main() {
std::cout << "Enter a pin.";
std::cin >> response;

if (response == correct_pin) {
std::cout << "That is the correct pin!";
}
else {
std::cout << "Incorrect pin.";
}
}
用户是否能够以某种方式挖掘内存并找到文字 "1874",并说明它必须是密码?如果是这样,有什么方法可以使字符串更安全?同样,这可能是一个愚蠢的问题,但是就像我说的那样,我找不到一个好的答案。

最佳答案

是的,1874将存储在内存和可执行文件中。
您可以使用加密库对正确的引脚进行加盐和散列,并存储加盐和散列的值。过去我使用crypto ++。试图通过使用散列值来找出原始值几乎是不可能的,他们将不得不对其进行暴力破解。尽管可执行文件的其余部分并不安全,所以它们可以修改响应和正确引脚的比较。

关于c++ - 字符串值的安全性如何?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64684449/

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