我正在编写一个程序,使用 Rijndael,将使用用户选择的密码加密和解密文件/文件夹。目前,当用户想要加密某些东西时,他们必须输入密码,该密码用于加密,当用户准备好时,解密文件/文件夹。
但是,我想要一个“主密码”,允许用户在程序的“首选项”部分中只输入一次密码,然后程序将自动使用该密码进行所有加密/解密。这样他们就不必每次想要加密/解密时都输入密码。
现在,由于这样的程序容易受到许多不同类型的攻击,我如何安全地存储用户的“主密码”,以免有人掌握它?以纯文本形式将其存储在程序中显然不是一个好主意,因此我可以使用由我选择并存储在程序中的另一个密码来加密/解密密码。
但是,同样,如果有人可以访问我选择的密码来加密/解密主密码,那么他们可以再次解密主密码,那就不好了。
所以!程序如何安全地做到这一点?
目前,我正在通过使用我自己选择的密码对其进行加密并将其存储在用户范围的设置中来保存“主密码”。如果您认为这不是一个好主意,请告诉我为什么以及您将对我目前实施的流程进行哪些更改?
谢谢!