在我的HTML表单中,我有一个密码字段,我想在URL表单帖子中发送之前对其进行编码。
所以我在提交点击时调用一个 js 函数,比如 validateAndEncrypt(),基本上我想用它来加密密码。
如何加密此密码值?
1)我有一个内置的编解码器类(DESCodec),其中包含加密和解密的方法,我可以直接在gsp中使用此编解码器吗?- 如果是,我如何将密码值从javascript提供给DESCodec。2)有没有使用纯JavaScript来加密密码值的方法?
我应该选择哪种方法?
谢谢普里扬克
简短的回答:使用SSL。
长话短说:像DES这样的私钥加密算法在网络上使用是不切实际的,因为浏览器需要与服务器共享私钥。 为了安全地传输它,您需要使用某种形式的公钥交换。 在你实现了这一点之后,你基本上已经重新发明了SSL,但可能是有缺陷和不安全的。
- 使用 SSL (https)
- 没有必要在Javascript中使用客户端加密。 保持客户端加密和服务器端解密同步可能比它的价值更多的工作。
- 认真:信任SSL
我可以直接在 GSP 中使用此编解码器吗?
不可以,不能在客户端上使用服务器端代码。 如果您选择双重加密表单,则需要客户端库在提交表单元素之前对其进行编码。
如果这确实是您的应用程序真正需要的,那么您确实有 javascript 加密选项。
- http://crypto.stanford.edu/sjcl/
- http://www.tero.co.uk/des/
- http://www.jcryption.org/
只需使用SSL encrypion (https)
使用 SSL 可能是一种更简单、更有效的解决方案 - 它将加密您可能发送的任何其他敏感数据。 您尝试创建的解决方案正是SSL的设计目的。