gpt4 book ai didi

encryption - 如何设计系统以允许加密迁移?

转载 作者:行者123 更新时间:2023-12-05 00:01:54 26 4
gpt4 key购买 nike

我想建立一个系统,允许我将加密密码(散列密码)从一个系统迁移到另一个系统。我该怎么做?

说 2 个月后,我发现加密性能提高了 10 倍,并且毫无疑问地证明了当前的哈希函数完全易受攻击。我将如何将用户密码从一种类型的哈希迁移到另一种(更好的)。

最佳答案

您可以使用以下技术缓慢地从一种方法迁移到另一种方法。我不能保证它的质量,所以请带一点盐(不是双关语)。

例如,考虑存储用户的下表:

id    name    password    salt    hashmethod
--------------------------------------------
1 alice ABC52... ABD... md5
2 bob 28DHF... Z+d... sha1
...

假设您过时的哈希方法是 md5,并且您想将其替换为更安全的 sha1 , 这是你做的:
  • 用户登录后,您使用新方法 (sha1) 和 salt 散列其密码。
  • a) 如果找到匹配项(对应的用户名和密码以及方法 sha1),则登录该用户。
  • b) 如果未找到匹配项:
  • 1)您使用旧方法(md5)和盐进行散列。
  • a) 如果找到匹配项(对应的用户名和密码以及方法 md5),则使用新方法 (sha1) 和 salt 散列密码,并相应地更新数据库。用户已登录。
  • b) 如果未找到匹配项,则凭据无效且不会登录用户。

  • 此迁移可能需要很长时间,因此为了加快速度,您应该向用户发送电子邮件,要求他们登录或更改密码。

    希望能帮助到你。

    关于encryption - 如何设计系统以允许加密迁移?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8692561/

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