gpt4 book ai didi

VB.NET 使用密码加密

转载 作者:行者123 更新时间:2023-12-01 14:35:53 37 4
gpt4 key购买 nike

我有一个桌面应用程序,其中用户有一个加密的 ZIP 文件库。配置文件包含解密这些 ZIP 的主密码。这个想法是用户输入他们在安装应用程序时选择的程序密码来打开程序,并且该密码用于解密存储在配置文件中的主密码。

所有这些安全性的要点是 即使有人可以访问硬盘和用户的 Windows 帐户,他们仍然无法在没有密码 的情况下进入 ZIP 文件。 ,理想情况下。

为了验证用户输入的程序密码,我从这里(页面底部)使用 C# 哈希代码(转换为 VB):

http://crackstation.net/hashing-security.htm

到现在为止还挺好。我们只存储了程序密码的哈希值,因此黑客无法通过查看配置文件来读取它。

现在,我正在尝试实现此处的加密:

http://msdn.microsoft.com/en-us/library/yx129kfs.aspx

实际问题:

那么以下哪一项以纯文本形式存储在配置文件中,用于在运行时使用用户输入的程序密码解密 ZIP 主密码?

  • 用于生成加密 key 的盐(可以与
    如上所述用于散列密码的盐?)
  • 初始化向量(IV)?
  • 加密 key ? (可能不是...)(MS 示例中的 k1)
  • 解密 key ? (MS 示例中的 k2)

  • 在MS的例子中,他们把加密和解密都混在一起了……我有很多片段,但我不知道如何把它们放在一起……

    更新

    我读过 AES 加密比 MS 在上面示例中使用的 Triple DES 加密更安全。看到我们在 zip 文件上使用 AES,最好使用 AES 作为 ZIP 文件密码。

    那么,我如何结合这个 AES 示例:

    http://msdn.microsoft.com/en-us/library/system.security.cryptography.aescryptoserviceprovider.aspx#Y2300

    用 PBKDF2 生成加密 key ?

    最佳答案

    您需要存储 PBKDF 函数的盐和迭代计数(不能与用于散列密码的盐相同)。

    关键是 PBKDF 的结果,对于给定的盐和迭代计数,它是固定的。

    您还需要存储 IV。
    如果您愿意,您可以使用密码的(PBKDF)散列,使用第三个(存储的)盐作为 IV。

    关于VB.NET 使用密码加密,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11269211/

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