我目前已经开始编写受密码保护的电子日记。用户输入一个(当他们第一次使用该程序时),然后可以使用相同的密码来访问记录。
如何在不将密码写入文件的情况下执行此操作?我希望程序每次都使用相同的密码运行。*?
最佳答案
标准 C 提供的用于存储数据以供将来使用的解决方案是文件。这就是它们存在的原因,并且没有合理的选择。 C 在运行过程中不会保留程序的任何内部数据。为此,您需要使用文件。
没有必要将密码本身存储在文件中。您可以存储hash的密码。哈希是一种将某些输入(例如字符串)转换为另一个值的函数,其方式使得很难找出产生特定值的输入。因此,如果有人知道存储的哈希值,他们就很难算出密码。
因此,当用户设置新密码时,您的程序将计算密码的哈希值并将哈希值存储在文件中。检查密码时,您的程序将读取用户输入的密码,计算其哈希值,并将该哈希值与存储在文件中的哈希值进行比较。
选择、实现和使用哈希函数是一个广泛而复杂的主题。
关于c - 如何在 C 程序中存储密码以供将来使用而不写入外部文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48536203/