forked from 1e3a95b5-c7de-4327-8577-ab96ec88f83d/modeldesign
				
			加密传输
							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
	
	 zhuyinlong
						zhuyinlong