在没有OAuth的远程网站上存储加密的用户名/密码以进行身份​​验证

时间:2013-07-24 15:56:44

标签: php mysql security authentication

我正在构建一个Web应用程序,允许用户输入他们的Website-A凭据,并授予我的应用程序访问权限以代表他们登录。网站-A没有API,它不支持OAuth等.OAuth不是一个选项,它出现在大多数其他问题的基础上推荐OAuth。

使用任何一种流行的加密算法加密密码是最好的方法,将密钥存储在安全的地方,并称之为好吗?理论上他们的账户是只读的。

堆栈使用PHP / MySQL但是我们运行带有Request和Cheerio的Node.js来处理身份验证,在某些极端情况下我们实际上使用PhantomJS来渲染站点(当它们是ajax重的时候) )。

谢谢!

2 个答案:

答案 0 :(得分:0)

  1. 我建议使用具有良好安全记录的加密框架,而不是“流行的加密算法”
  2. “安全的地方”的定义相当模糊,但我想如果你和你的用户都很好 - 没关系。
  3. 确保您的用户了解您如何存储密码,以便他们为可能的后果做好准备。

答案 1 :(得分:0)

具有强大填充功能的AES CBC是最好的选择。您可以在此处找到更长时间的讨论:What encryption algorithm is best for encrypting cookies?

哎呀,你甚至可以使用MySql内置的AES_ENCRYPT

关键是你的关键安全。