加密传输

master
zhuyinlong 2023-11-03 19:03:29 +08:00
parent e9807ebf07
commit 869db702f3
6 changed files with 3738 additions and 3 deletions

View File

@ -2,6 +2,10 @@ package com.ruoyi.web.controller.system;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import com.ruoyi.common.utils.sm.SM2EngineExtend;
import com.ruoyi.common.utils.sm.SM2Utils;
import com.ruoyi.common.utils.sm.SM2crypto;
import org.apache.shiro.SecurityUtils;
import org.apache.shiro.authc.AuthenticationException;
import org.apache.shiro.authc.UsernamePasswordToken;
@ -56,6 +60,8 @@ public class SysLoginController extends BaseController
@ResponseBody
public AjaxResult ajaxLogin(String username, String password, Boolean rememberMe)
{
System.out.println(super.getRequest().getHeader( "user-agent" ));
password = SM2Utils.decrypt(SM2crypto.priKey, password, SM2EngineExtend.CIPHERMODE_BC);//sm2私钥解密
UsernamePasswordToken token = new UsernamePasswordToken(username, password, rememberMe);
Subject subject = SecurityUtils.getSubject();
try

File diff suppressed because one or more lines are too long

File diff suppressed because it is too large Load Diff

View File

@ -14,10 +14,12 @@ $.validator.setDefaults({
}
});
var pubkeyHex = "04c06ff757285f47a74c85dc3574a7a144d71b8328da1f251d606855588881bd028d258fea53df0c89df8d1f82ee31257842ceb197fb74592decc9854ba72b693f";
function login() {
$.modal.loading($("#btnSubmit").data("loading"));
var username = $.common.trim($("input[name='username']").val());
var password = $.common.trim($("input[name='password']").val());
var sm2Password = sm2Encrypt(password, pubkeyHex, 0);
var validateCode = $("input[name='validateCode']").val();
var rememberMe = $("input[name='rememberme']").is(':checked');
$.ajax({
@ -25,7 +27,7 @@ function login() {
url: ctx + "login",
data: {
"username": username,
"password": password,
"password": sm2Password,
"validateCode": validateCode,
"rememberMe": rememberMe
},

View File

@ -58,6 +58,8 @@
<!--[if lte IE 8]><script>window.location.href=ctx+'html/ie.html';</script><![endif]-->
<!-- 全局js -->
<script th:src="@{/js/jquery.min.js}"></script>
<script th:src="@{/js/crypto-js.js}"></script>
<script th:src="@{/js/sm2.js}"></script>
<script src="../static/ajax/libs/validate/jquery.validate.min.js" th:src="@{/ajax/libs/validate/jquery.validate.min.js}"></script>
<script src="../static/ajax/libs/layer/layer.min.js" th:src="@{/ajax/libs/layer/layer.min.js}"></script>
<script src="../static/ajax/libs/blockUI/jquery.blockUI.js" th:src="@{/ajax/libs/blockUI/jquery.blockUI.js}"></script>

View File

@ -4,6 +4,6 @@ import org.springframework.stereotype.Component;
@Component
public class SM2crypto {
public static String pubKey = "04ebe49444321237d1d2415427a78b73ab1661e11a511221ac635546f647e44347332857b37f59705c6b95dbd9fcf0188f830946ac156b64c0e30623c3a0500342";
public static String priKey = "7a70604a24c35fbdd099a84307bff1196eb9955280cc98cadcd18442ba3e3a83";
public static String pubKey = "04c06ff757285f47a74c85dc3574a7a144d71b8328da1f251d606855588881bd028d258fea53df0c89df8d1f82ee31257842ceb197fb74592decc9854ba72b693f";
public static String priKey = "afdf6d44466de149e52a0438634a14559f98d16566ee033d167f380e9cfa1e6c";
}