gpt4 book ai didi

security - 如何存储和验证从 PIN/密码中随机选择的数字

转载 作者:行者123 更新时间:2023-12-05 00:40:51 31 4
gpt4 key购买 nike

如果我有一个用户 6 位 PIN(或 n 个字符字符串),并且我希望验证从 PIN(或 x 个字符)中随机选择的 3 个数字作为“登录”程序的一部分,我将如何将 PIN 存储在一个数据库或某些加密/散列版本的 PIN 码,以便我可以验证用户身份?

想法:

  • 以可逆方式存储 PIN
    (对称或非对称)加密方式,解密数字检查。
  • 存储 PIN 码的一系列散列排列
    ID,链接到“随机
    数字'选择,例如:
  • ID:123 = 数字 1、2、3 的哈希
  • ID:416 = 数字 4、1、6 的哈希

  • 问题:
  • key 安全:假设 key 是
    “ protected ”并且该应用程序不是
    财务上也不是很挑剔,但是
    是“高容量”。
  • 创建一个
    广泛的哈希数
    排列都是令人望而却步的
    高存储(16 字节 x 几个
    排列)并且耗时可能矫枉过正

  • 还有其他选择、问题或改进吗?

    是的:我知道以可逆方式存储密码/PIN 是“有争议的”,理想情况下不应该这样做。

    更新

    只是为了澄清:
    1. 随机数字是我正在考虑避免键盘记录器的一种方案。
    2. 无法尝试超过有限次数的重试。
    3. 其他元素有助于保护和验证访问。

    最佳答案

    由于您用于存储密码/密码短语的任何加密方案要么非常昂贵,要么很容易破解.

    您可以考虑使用一些轻量级加密方案来对数据库的临时浏览器隐藏密码,但是,您必须承认任何方案都存在两个基本漏洞。一——你的程序需要一个密码或 key ,它必须存储在某个地方,并且几乎和以纯文本形式存储的实际密码一样容易被窥探,二——如果你有合理数量的用户,那么可以访问加密密码的黑客有很多“线索”来帮助他的蛮力攻击,如果您的站点向公众开放,他可以将任意数量的“已知文本”插入您的数据库。

    关于security - 如何存储和验证从 PIN/密码中随机选择的数字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3388379/

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