我正在开发一个网站,该网站连接到用户的MSSQL数据库以收集信息。用户被分配到不同的MSSQL数据库帐户,并使用存储在MySQL数据库中的IP,用户名和密码连接到它们。
目前,我所拥有的是PHP,AES可以根据需要对密码进行加密/解密。那似乎是不对的。它可以防止您通过在数据库中查看而看到纯文本密码(这无疑是很好的),但是我对它的安全级别并不满意。
哈希很好,如果您再也不需要密码了,那么一切都可以,但我确实需要。因此,我真的不知道如何在该站点的特定方面实施合理的安全级别。
任何建议将是巨大的。我是完全错误的,是个白痴吗?有没有一种非常优越的方法可以做到这一点?
显然,如果要将密码发送到MS SQL,则将需要能够反转该值。我认为加密将是这里最正确的答案。无论哪种方式,您的代码仍将能够推断此密码,否则您将无法连接。
如果您想提高安全性,则可以使用根据用户名计算出的校验和来为加密添加种子…但是,如果用户名发生更改,则需要解密并重新加密。对于只会知道您正在使用AES的“其他人”来说,这只会使它更加困难。
但最终,由于需要解密,因此您始终可以知道密码是什么。在这种情况下,您只能做很多事情,最好的办法是每次需要时都要求用户提供密码。