我的 .jsp 页面上有一个表单,它将密码发送回服务器。
<form name="login" action="j_security_check" method="post">
<input type="text" name="j_username">
<input type="password" name="j_password">
<input type="submit" name="Login"> </form>
我想在处理 j_password 之前对其进行一些处理。以前,我通过调用执行类似于以下操作的函数,通过一些处理代码实现 JavaScript 来做到这一点:
<script type="text/javascript" src="sha256.js">
<script> function hash() { document.login.j_password.value = '@' +
sha256_digest(document.login.j_password.value); } </script>
...
...
<input type="submit" value="Login" onClick="hash()"> </form>
现在,我正在尝试实现类似的功能,但我尝试使用 Java,而不是使用 JavaScript。我的 .java 的主要目的是加载 public.key,获取 j_password,执行加密,并将 j_password 替换为其加密形式。
// RSA.java Pseudocode
1) Get string from textbox "j_password"
2) Load public key from public.key
3) Perform encryption on j_password with key
4) Load cipher to textbox "j_password"
但是,我看到的大多数示例都实现了“<% %>”调用,但这给我的印象是它会在页面加载时执行,而不是在单击登录按钮时执行。我还注意到我可以使用 javac 将其编译为 .class 并将其加载为“”,但是可以使用此方法修改 j_password 的输入吗?虽然它是一个 .jsp 并且我可以使用“<% %>”直接实现 Java,但我认为它在当前的 JSP 标准中是不可接受的。有没有人有任何建议或想法可以为我指明正确的方向?
谢谢你。