使用php将纯文本转换为mysql数据库,并在需要时将其作为纯文本返回

时间:2016-02-23 01:16:45

标签: mysql security web-applications passwords blob

我正在设计一个网络应用程序,我们需要从用户那里获取一些凭据来访问少数网站,例如(Equfax等)。

我知道以纯文本格式保存这些凭据是一个坏主意。但我们需要后端团队获取业务流程的密码。

如何检索哈希密码并将其显示为纯文本?

如果这不起作用,那么我想我可以使用PDF表格获取详细信息并将文件保存为mysql中的blob并在需要时下载。但是,如果数据库被盗,我仍然知道这是一种风险。

让我知道,如果我有解决方案。

感谢您阅读本文。

1 个答案:

答案 0 :(得分:1)

是的,如果您将这些密码存储在服务器的任何位置(数据库,文本文件,RAM ......任何地方),则确实需要加密这些密码。 现在,棘手的部分是如果你的应用程序可以自己解密这些密码,那么任何闯入你服务器的人都可以通过逆向工程代码来做同样的事情。

防止这种情况的唯一方法是使用由两个独立组件组成的加密密钥: - 存储在应用程序代码中的服务器密钥 - 以及后端团队将在应用程序中输入的用户密钥(例如登录时)。

例如:     $ encryption_key = $ server_key。 $ user_key;

$encrypted_password = your_encryption_function($key, $value_to_encrypt);
$decrypted_password = your_decryption_function($key, $value_to_decrypt);

然后,您的后端工作人员将输入$ user_key,然后才能解密/加密密码。必须在所有后端工作人员之间共享该密钥。

潜在地,您还可以对每个密码进行加密,以将第三个组件添加到加密密钥中。

$encryption_key = $server_key . $user_key . $password_salt;