gpt4 book ai didi

c++ - 如何使用户可变常量?

转载 作者:行者123 更新时间:2023-11-28 06:27:38 25 4
gpt4 key购买 nike

我想制作一个简单的控制台应用程序,它将执行我在学校经常使用的一些有用功能(检查数字是否为质数、写出数字的因子、求解二次方程等。).

但在制作过程中,我决定添加一些关于该应用程序的详细信息以使用户界面更漂亮:写下应用程序的名称、版本...

我想到了一个我可以输入的管理员密码,然后我可以修改这些额外的详细信息或更改密码。

但是如果我有一个像常量变量或常规变量一样存储的密码 const string password = "blablabla;"每次我运行该应用程序时,它都会有相同的密码 "blablabla"所以有没有办法以某种方式更改密码和其他额外数据,以便程序永久保存新值?

我想将所有这些额外信息保存在某个文件中,然后每次都从中读取它们,但是如果文件被更改,那么数据将被更改,我不希望这样 . 我只想使用管理员密码更改数据。我还认为我可以加密这些信息,但仍然可以轻松更改。

我还以为程序可以打开源代码,然后修改那些初始化值,但是我需要编译那个文件,我也不想那样。

我只想要一个可以运行并可以使用管理员密码永久更改这些信息的 .exe 应用程序。

现在有人知道这是否可以做到吗?如何做到?

我正在用 C++ 编写这个应用程序。

提前致谢

最佳答案

is there a way to somehow change the password and other extra data so the program saves the new values permanently?

理论上,您可以修改可执行文件数据段中的常量。如何做到这一点取决于可执行格式。但我认为这是一个笨拙的解决方法,并且很难阻止某人在没有密码的情况下修改可执行文件。你真正想要的是变量。你对如何初始化变量有一个好主意:

I thought to save all those extra information in some file

好主意。简单的解决方案,可能适合您的应用范围。

if the file is changed then the data will be to and I don't want that. I want to change the data only with an admin password.

然后以某种方式保护文件。例如,您可以不授予任何人对该文件的写权限。或者,如果您有点偏执(这只是一个专为您准备的小型控制台应用程序,对吧?)加密它...

I also thought I can encrypt those information but still thay can be easely changed.

没有 key 就不容易了。当然,他们可以修改密码文本,从而导致垃圾数据,但如果您担心这一点,请意识到如果他们对您的文件具有写入权限,他们可以直接删除程序本身。

如果您想走得更远,请考虑将您的数据存储在一个成熟的数据库中,该数据库已经实现了身份验证和加密。

关于c++ - 如何使用户可变常量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28235133/

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