我想从客户端和服务器端的加密密码,这意味着两次加密,我发现在谷歌浏览器的代码JavaScript md5,但我怎么用JSF呢? 在服务器端我可以做但是,但在客户端与JSF我怎么办?如何使用JSF加密
的JavaScript的md 5:http://phpjs.org/functions/md5:469
我想从客户端和服务器端的加密密码,这意味着两次加密,我发现在谷歌浏览器的代码JavaScript md5,但我怎么用JSF呢? 在服务器端我可以做但是,但在客户端与JSF我怎么办?如何使用JSF加密
的JavaScript的md 5:http://phpjs.org/functions/md5:469
MD5是单向加密。您无法将其解密回原始字符串。在视角方面做到这一点也没有意义。如果您使用数据库来存储数据,并且您的意图是在数据库中对密码进行哈希处理,那么请在数据库端执行此操作。有点像样的DB为此提供了功能。目前还不清楚您使用的是哪个数据库,但在MySQL等情况下,它简称为md5()
。
重写你的INSERT
如下:
String sql = "INSERT INTO user (username, password) VALUES (?, md5(?))";
而且你SELECT
如下:
String sql = "SELECT * FROM user WHERE username = ? AND password = md5(?)";
如果你唯一的功能要求是传输通过HTTP的数据(这是不明朗加密你的问题),然后看看HTTPS(使用SSL的HTTP)。这可以在Web服务器级别进行配置。再次,目前还不清楚你正在使用哪一个,但在例如Tomcat的情况下,你可以在this documentation中找到细节。
谢谢BalusC! – Kency 2010-10-29 16:33:01
不清楚用md5散列密码的动机是什么;如果要阻止某人拦截流量来使用密码,那么这种方法将无济于事:攻击者可以直接发送哈希密码,因为原始密码的知识不再必要。
如果您想在不传输密码的情况下使用此身份验证,请使用基于挑战 - 响应通信的摘要式身份验证。
谢谢Martin! – Kency 2010-10-29 16:34:34
“客户端与JSF”是什么意思?毕竟,JSF在服务器端。 – 2010-10-29 10:35:02
我想他在问如何加密输入字段的内容。 –
FRotthowe
2010-10-29 10:43:15