首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用哈希密码将用户帐户移出系统

使用哈希密码将用户帐户移出系统
EN

Webmasters Stack Exchange用户
提问于 2010-07-16 16:46:41
回答 2查看 2K关注 0票数 4

我有一个有几千个用户帐户的系统,我需要迁移到一个新的平台。系统存储一个散列密码,而不是加密或(谢天谢地)纯文本。另外,我还没有哈希的细节,随时可用。

有哪些有效的方法来进行过渡?我脑海中浮现出一个想法:

  1. 提前,我可以迁移所有的数据。旧平台中的现有用户将在新平台上拥有一个帐户和他们的所有数据。
  2. 删除一些当前处理身份验证的代码,并将其转换为一种服务,以检查用户名/密码的有效性。
  3. 新平台可以首先检查自己的身份验证,以确定密码是否已被传输。如果没有,它可以调用另一个平台上的服务,以确定它在旧系统中是否有效。
  4. 如果它是无效的,那么它告诉用户他们的登录是错误的。
  5. 如果它是有效的,它现在知道正确的密码,并可以用密码填充自己的用户表(根据平台使用的任何方案)。
EN

回答 2

Webmasters Stack Exchange用户

发布于 2010-07-16 16:56:15

最近,我遇到了一个类似的问题,只是我无法访问正在使用的哈希算法。我想你有两个选择。

  1. 将所有用户配置文件移到新系统,并使用旧密码哈希设置一个额外的列。
  2. 当用户首次登录时,您的系统将看到新系统中不存在帐户,但旧系统中存在一个散列。您的系统将保留密码的预哈希副本,并根据旧哈希检查散列版本。
  3. 如果旧哈希匹配,则将新系统中的密码设置为所发送的密码。

但是,如果您发现您没有访问哈希算法的权限,并且您有每个用户的电子邮件地址,那么您就有了另一个选择。我实际上就是这样做的:

  1. 复制所有的用户名,电子邮件地址和信息从旧到新的系统。在表中放置一个标志列,表示用户来自旧系统。
  2. 当用户首次登录新系统时,新系统将看到他们有一个帐户,但没有密码。
  3. 让你的系统在屏幕上贴上一条信息,上面写着“我们更新了我们的网站,你的用户账户也被转换了。你很快就会收到一封带有临时密码的电子邮件(确保密码或特殊链接只在短时间内起作用)。”
  4. 向用户发送一个临时密码到您的新网站,让他们登录。一旦他们第一次登录,让他们重新设置他们的密码到任何他们喜欢的。

第二个选择对我来说效果很好。我几乎没有用户抱怨,这是相对安全的,因为这是一个用户重置他们忘记的密码的正常过程。

票数 3
EN

Webmasters Stack Exchange用户

发布于 2010-07-16 17:20:01

在你遇到太多麻烦之前,你有没有研究过哈希算法可能是什么?如果他们足够理智地使用散列密码,那么希望他们能够正常使用常见的哈希算法(MD5、SHA1等)。

也许值得尝试一些常见的选项,看看你是否可以反向工程他们正在做的事情。

此外,您还提到了“删除一些当前进行身份验证的代码”。怎么会有代码,而不是哈希算法呢?

票数 1
EN
页面原文内容由Webmasters Stack Exchange提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://webmasters.stackexchange.com/questions/1062

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档