首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何存储需要以纯文本形式提供的密码?

如何存储需要以纯文本形式提供的密码?
EN

Cryptography用户
提问于 2011-08-07 20:50:22
回答 2查看 4.2K关注 0票数 12

假设我需要为一些用户存储第三方网站的登录信息,我将如何进行呢?

由于我是登录到第三方网站,我需要密码的纯文本,而不是散列。而不是,该网站没有提供任何API。

此外,我使用的服务器对其上存储凭据的人是可访问的,因此他们至少可以获得一个明文/密文对,即他们自己的。

在这两种情况下,是否存在在服务器上存储用户凭据的方法,或者是否应该每次用户登录时都请求它们?

EN

回答 2

Cryptography用户

回答已采纳

发布于 2011-08-07 21:29:15

您可以使用从用户密码(到您的站点)中派生的一些密钥对它们进行加密。

当然,这是假设您以纯文本(或任何形式总是相同的形式)获得用户的密码,因此您需要与用户进行加密连接。不允许任何非SSL登录。

您可以使用一些密钥派生函数(如PBKDF或bcrypt )从密码派生加密密钥(如果使用salt,请确保salt与用于密码检查的salt不相同)。您还可以在这里使用一些服务器机密,但是如果您说一些潜在的攻击者无论如何都有(读)访问服务器的权限,这将不会真正提高安全性。

然后,使用AES等标准对称加密算法对第三方网站存储的登录信息进行加密/解密。

当然,你也应该使用加密连接到这个第三方网站.

票数 14
EN

Cryptography用户

发布于 2011-08-11 00:49:42

在我看来,LastPass使用的方法是相当理想的。它们有一组密码,这些密码在您的计算机上使用JavaScript和您提供的密码加密。您将加密的数据发送给LastPass,后者将其存储在其服务器上。然后,当您想要访问您的密码时,您将相同的加密文本发送回用户,用户在他们的机器上解密它。

最终的结果是,你永远不知道他们的密码,但你为他们储存了密码。

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

https://crypto.stackexchange.com/questions/345

复制
相关文章

相似问题

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