从 Parse 导出密码

Posted

技术标签:

【中文标题】从 Parse 导出密码【英文标题】:exporting passwords from Parse 【发布时间】:2016-03-31 17:41:40 【问题描述】:

我已经从 Parse.com 导出了我的数据,但密码是使用 bcrypt 加密的。我会将数据存储在 mysql 数据库中,用户将通过简单的 RESTful API 进行连接。假设我捕获了用户名和密码,我如何检查它是否与存储的密码匹配?

【问题讨论】:

【参考方案1】:

我要在这里冒昧地说,一旦使用 bcrypt 加密密码,就无法解密密码 - 由于各种原因,这将是一个巨大的安全漏洞。以下是一些暗示这种情况的链接:

https://www.parse.com/questions/encryption-decryption-techniques-provided-by-parse-for-passwords-or-urls 我们在内部使用 bcrypt 来存储密码。但是,我们不会在 API 中公开密码的加密版本,因此无论如何您都无法解密它。

How to send Parse user's password to external API Request?

https://***.com/questions/35593429/get-parses-user-password-in-decrypted-format

简而言之,当您将用户迁移到新服务时,您必须告知用户他们需要更改密码(或至少确认密码)。

我建议这样的工作流程:

通知用户他们的密码需要确认/重新验证。是否通知他们这是由于数据迁移,这取决于您,但我通常倾向于披露和诚实。您可以针对每个用户执行此操作,也可以发送批量通信。

当用户下次登录您的应用时,提示他们验证密码(或更改密码)。使用 Parse SDK 验证密码,如果验证成功,则使用您选择的加密解决方案重新加密现在已知的密码,然后将其存储在您的新 BaaS/dB 中。

如果用户无法验证密码或忘记密码,请使用电子邮件或 2FA 验证流程重置密码并以相同方式存储。

【讨论】:

【参考方案2】:

无法解密密码。

我强烈建议您使用 parse.com 数据库迁移工具将数据导出到外部 MongoDB。您可以使用 Parse Server 来提供 RESTful API。可以通过托管您自己的自托管服务器或 Parse 托管解决方案(如 https://www.back4app.com

)轻松完成

查看以下链接中的所有选项: https://github.com/ParsePlatform/parse-server#parse-server-sample-application

【讨论】:

以上是关于从 Parse 导出密码的主要内容,如果未能解决你的问题,请参考以下文章

是否可以从Toad导出保存的密码

密码重置/解析服务器

python DreamUnweaver:从Adobe Dreamweaver * .ste导出中提取和解密密码和FTP信息。

如何将数据表导出到 xls,在导出前先询问密码

更改密码后 Parse 中的会话令牌无效

Parse Server 上的自定义重置密码系统