我的.jsp頁面上有一個表單,它將密碼發送回服務器。JSP上的Java文本修改
<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>
現在,我想實現類似的功能,而是使用JavaScript的,我正在嘗試使用Java。我的.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標準中這是不可接受的。有沒有人有任何建議或想法指向正確的方向?
謝謝。
只是一個想法:一個加密密碼,因爲你不希望原始密碼通過網絡傳遞到服務器。如果您在服務器端對密碼進行加密,那麼它就會違反目的。 –
是的,因此我想知道在客戶端提交之前是否有辦法進行這種加密,但是使用Java來完成。 –
在典型的Java Web應用程序中,您在Java上編寫的任何內容都會在服務器端執行。所以JavaScript是你唯一的選擇。 –