使用散列密码将客户帐户移出系统

我有一个系统,需要几千个客户帐户才能转移到新系统。 系统存储散列密码,未加密或(由于利益)明白的消息。 另外,我没有方便提供的散列信息。

有哪些可靠的方法来进行更改? 一个建议进入你的脑海中:

  1. 事先,我可以移动所有信息。 旧系统中的现有客户肯定会在新系统中拥有帐户及其所有信息。
  2. 删除目前负责验证的几个代码,并将其转换为一种肯定会检查用户名/密码合法性的解决方案。
  3. 新系统可以首先检查它自己的验证,以查看密码是否实际被移动。 如果还没有, 它可以调用各种其他系统上的解决方案,以确定它是否在旧系统中是合法的。
  4. 如果它不合法,那么它通知客户他们的登录不正确。
  5. 如果它存在,它当前识别正确的密码,并且还可以使用密码(根据系统使用的任何系统)驻留在其自己的客户表中。
0
2019-05-04 18:08:32
资源 分享
答案: 2

我最近经历了一个类似的问题,除了我真的无法访问正在使用的哈希算法。 我假设你有2个选择。

  1. 将每个客户帐户重新定位到新系统,并使用旧密码哈希添加一个列。
  2. 当客户第一次访问时,您的系统肯定会看到新系统中不存在任何帐户,但是旧系统会使用哈希值。 您的系统肯定会保留密码的预哈希重复,并检查哈希变量与旧哈希的差异。
  3. 如果旧的哈希匹配,则将新系统中的密码设置为它们发送的密码。

尽管如此,如果您发现您无法访问哈希算法,并且您拥有每个客户的电子邮件地址,则还有其他选择。 这就是我事实上所做的:

  1. 复制每个用户名,电子邮件地址以及从旧系统到新系统的详细信息。 在表中放置一个标志列,表示客户来自旧系统。
  2. 当客户第一次登录新系统时,新系统肯定会看到他们有一个帐户但没有密码。
  3. 让您的系统在屏幕上放置一条消息,声称“我们实际上已经升级了我们的网站,而且您的客户帐户实际上已经被转换。您肯定会收到一封带有新短期密码的电子邮件(请参阅密码或唯一链接只需短暂的时间)。
  4. 向客户发送温度密码到您的新网站,这肯定会让他们访问。 一旦他们第一次访问,他们就会将密码重置为他们的密码。

第二种选择对我来说相当不错。 我基本上没有客户问题,而且它相当安全可靠,因为这是客户重置被忽略密码的常规程序。

0
2019-05-08 02:55:15
资源

然而,在您走向太多问题之前,您是否检查过哈希算法可能是什么? 如果它们足够合理地使用散列密码,那么运气好的话它们可以合理地使用通常的散列算法(MD5,SHA1等)。

可以奖励尝试一些常用的替代方案,看看你是否可以对他们正在做的事情进行逆向工程。

此外,您声明“删除目前正在执行验证的几个代码”。 您是如何拥有代码的,而不是哈希算法?

0
2019-05-08 02:45:04
资源