加密传输
parent
e9807ebf07
commit
869db702f3
|
@ -2,6 +2,10 @@ package com.ruoyi.web.controller.system;
|
||||||
|
|
||||||
import javax.servlet.http.HttpServletRequest;
|
import javax.servlet.http.HttpServletRequest;
|
||||||
import javax.servlet.http.HttpServletResponse;
|
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.SecurityUtils;
|
||||||
import org.apache.shiro.authc.AuthenticationException;
|
import org.apache.shiro.authc.AuthenticationException;
|
||||||
import org.apache.shiro.authc.UsernamePasswordToken;
|
import org.apache.shiro.authc.UsernamePasswordToken;
|
||||||
|
@ -56,6 +60,8 @@ public class SysLoginController extends BaseController
|
||||||
@ResponseBody
|
@ResponseBody
|
||||||
public AjaxResult ajaxLogin(String username, String password, Boolean rememberMe)
|
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);
|
UsernamePasswordToken token = new UsernamePasswordToken(username, password, rememberMe);
|
||||||
Subject subject = SecurityUtils.getSubject();
|
Subject subject = SecurityUtils.getSubject();
|
||||||
try
|
try
|
||||||
|
|
File diff suppressed because one or more lines are too long
File diff suppressed because it is too large
Load Diff
|
@ -14,10 +14,12 @@ $.validator.setDefaults({
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
|
var pubkeyHex = "04c06ff757285f47a74c85dc3574a7a144d71b8328da1f251d606855588881bd028d258fea53df0c89df8d1f82ee31257842ceb197fb74592decc9854ba72b693f";
|
||||||
function login() {
|
function login() {
|
||||||
$.modal.loading($("#btnSubmit").data("loading"));
|
$.modal.loading($("#btnSubmit").data("loading"));
|
||||||
var username = $.common.trim($("input[name='username']").val());
|
var username = $.common.trim($("input[name='username']").val());
|
||||||
var password = $.common.trim($("input[name='password']").val());
|
var password = $.common.trim($("input[name='password']").val());
|
||||||
|
var sm2Password = sm2Encrypt(password, pubkeyHex, 0);
|
||||||
var validateCode = $("input[name='validateCode']").val();
|
var validateCode = $("input[name='validateCode']").val();
|
||||||
var rememberMe = $("input[name='rememberme']").is(':checked');
|
var rememberMe = $("input[name='rememberme']").is(':checked');
|
||||||
$.ajax({
|
$.ajax({
|
||||||
|
@ -25,7 +27,7 @@ function login() {
|
||||||
url: ctx + "login",
|
url: ctx + "login",
|
||||||
data: {
|
data: {
|
||||||
"username": username,
|
"username": username,
|
||||||
"password": password,
|
"password": sm2Password,
|
||||||
"validateCode": validateCode,
|
"validateCode": validateCode,
|
||||||
"rememberMe": rememberMe
|
"rememberMe": rememberMe
|
||||||
},
|
},
|
||||||
|
|
|
@ -58,6 +58,8 @@
|
||||||
<!--[if lte IE 8]><script>window.location.href=ctx+'html/ie.html';</script><![endif]-->
|
<!--[if lte IE 8]><script>window.location.href=ctx+'html/ie.html';</script><![endif]-->
|
||||||
<!-- 全局js -->
|
<!-- 全局js -->
|
||||||
<script th:src="@{/js/jquery.min.js}"></script>
|
<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/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/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>
|
<script src="../static/ajax/libs/blockUI/jquery.blockUI.js" th:src="@{/ajax/libs/blockUI/jquery.blockUI.js}"></script>
|
||||||
|
|
|
@ -4,6 +4,6 @@ import org.springframework.stereotype.Component;
|
||||||
|
|
||||||
@Component
|
@Component
|
||||||
public class SM2crypto {
|
public class SM2crypto {
|
||||||
public static String pubKey = "04ebe49444321237d1d2415427a78b73ab1661e11a511221ac635546f647e44347332857b37f59705c6b95dbd9fcf0188f830946ac156b64c0e30623c3a0500342";
|
public static String pubKey = "04c06ff757285f47a74c85dc3574a7a144d71b8328da1f251d606855588881bd028d258fea53df0c89df8d1f82ee31257842ceb197fb74592decc9854ba72b693f";
|
||||||
public static String priKey = "7a70604a24c35fbdd099a84307bff1196eb9955280cc98cadcd18442ba3e3a83";
|
public static String priKey = "afdf6d44466de149e52a0438634a14559f98d16566ee033d167f380e9cfa1e6c";
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue