In registration form of my web application I have a password field. Now when I am inserting the data in the database on the submit button.
方法一:
我使用md5函数生成它的哈希值,然后将加密数据保存到数据库中。
方法二:
我使用MySql中的查询直接将特定列的数据转换成哈希值。
Which approach has less overhead and which one is more secure across the network. Please help?
使用的数据库:MySql 5,前端:Java
最佳答案
先将数据加密后再插入mysql会比较安全。否则,可能会通过监听应用服务器和数据库之间的流量来“嗅探”数据。
使用 MD5 时要记住的另一点是使用“salt”值。如果不使用盐,MD5 容易受到暴力攻击。 使用盐意味着在计算 MD5 并保存到数据库之前向用户输入的值添加任意字符串。
例如,如果用户输入的值为“ABC”,而您的盐值为“12345”,则您将为“ABC12345”计算MD5。
关于java - 我应该在哪里直接(通过查询)或通过前端的函数在数据库列中使用 MD5 哈希?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11358854/