日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > java >内容正文

java

java 加密服务器_Javascript端加密java服务端解密

發布時間:2023/12/19 java 20 豆豆
生活随笔 收集整理的這篇文章主要介紹了 java 加密服务器_Javascript端加密java服务端解密 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

通常我們會通過htts來保證傳輸安全,但如果我們不用https,如何通過javascript來保證瀏覽器端發送的參數進行加密,并且通過RSA算法來處理。

這里我們可以利用jquery的一個加密插件jcryption來處理,可以參考

現在版本是3.0?但是沒有java端的實現,下次有時間再研究。現在這個用的是1.1的版本

這個可以在

不過他的服務端有個缺陷我修改了。

接來大致介紹如下:

1.?????首先服務端有產生publicKey的servlet:

package com.gsh.oauth.auth.servlet;

import java.io.IOException;

import java.security.KeyPair;

import javax.servlet.ServletException;

import javax.servlet.http.HttpServlet;

import javax.servlet.http.HttpServletRequest;

import javax.servlet.http.HttpServletResponse;

import com.gsh.oauth.auth.util.JCryptionUtil;

/**

* Servlet implementation class EncryptionServlet

*/

public class EncryptionServlet extends HttpServlet {

private static final long serialVersionUID = 1L;

/**

* Default constructor.

*/

public EncryptionServlet() {

// TODO Auto-generated constructor stub

}

/**

* @see HttpServlet#service(HttpServletRequest request, HttpServletResponse response)

*/

protected void service(HttpServletRequest request,

HttpServletResponse response) throws ServletException, IOException {

int KEY_SIZE = 1024;

if (request.getParameter("generateKeypair") != null) {

JCryptionUtil jCryptionUtil = new JCryptionUtil();

KeyPair keys = null;

//if (request.getSession().getAttribute("keys") == null) { //這里注釋掉?否則第二次請求會500

keys = jCryptionUtil.generateKeypair(KEY_SIZE);

request.getSession().setAttribute("keys", keys);

//}

StringBuffer output = new StringBuffer();

String e = JCryptionUtil.getPublicKeyExponent(keys);

String n = JCryptionUtil.getPublicKeyModulus(keys);

String md = String.valueOf(JCryptionUtil.getMaxDigits(KEY_SIZE));

output.append("{\"e\":\"");

output.append("\",\"n\":\"");

output.append(n);

output.append("\",\"maxdigits\":\"");

output.append(md);

output.append("\"}");

output.toString();

response.getOutputStream().print(

output.toString().replaceAll("\r", "").replaceAll("\n", "")

.trim());

} else {

response.getOutputStream().print(String.valueOf(false));

}

}

}

2.?Client例子

Login form

content="text/html; charset=utf-8">

$(document).ready(function() {

var?$statusText = $('').hide();

$("#status_container").append($statusText);

$("#lf").jCryption({

getKeysURL:"/gsh/oauth/encryption?generateKeypair=true",

beforeEncryption :?function() {

$statusText

.text("Test Code")

.show();

return?true;

},

encryptionFinished :?function(

encryptedString,

objectLength) {

$statusText

.text(encryptedString);

return?true;

}

});

});

method="post">

loginclient_id:redirect_uri:loginid:

總結

以上是生活随笔為你收集整理的java 加密服务器_Javascript端加密java服务端解密的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。