Commit c949968c6620ba3b1e92da935976e69025e1586b

Authored by jiangjiazhi
1 parent 133a92c0b2

updated

Showing 1 changed file with 54 additions and 22 deletions

platform-common/src/main/java/com/lyms/platform/common/utils/LymsEncodeUtil.java View file @ c949968
1 1 package com.lyms.platform.common.utils;
2 2  
  3 +import org.apache.commons.codec.binary.Base64;
3 4 import org.apache.commons.lang.*;
4 5 import sun.misc.BASE64Decoder;
5 6 import sun.misc.BASE64Encoder;
6 7  
7 8  
8 9  
9 10  
10 11  
11 12  
12 13  
13 14  
14 15  
15 16  
... ... @@ -17,50 +18,73 @@
17 18 public class LymsEncodeUtil {
18 19  
19 20 public static void main(String[] args) throws Exception {
20   - String content = "我爱你";
  21 + String key = "Lymsh@2016";
  22 +/* String content = "我爱你";
21 23 System.out.println("加密前:" + content);
22 24  
23   - String key = "Lymsh@2016";
  25 +
24 26 System.out.println("加密密钥和解密密钥:" + key);
25 27  
26 28 String encrypt = aesEncrypt("57fada6128b63c3192cc963b", key);
27   - System.out.println("加密后:" + encrypt);
  29 + System.out.println("加密后:" + encrypt);*/
28 30  
29   - String decrypt = aesDecrypt("26EB0301C4A2410E90985A3E55856E4B86730CD45542FD5129D8EDC5ED4C690D", key);
30   - System.out.println("解密后:" + decrypt);
  31 + String json = aesDecrypt("26EB0301C4A2410E90985A3E55856E4B4C04BE4EB806C5597D8C79BB138DA77CDAE3B1C80268FE887D3804F73B8B5BEA", key);
  32 + System.out.println("解密后:" + json);
  33 + String j = "rO0ABXNyAB9jb20ubHltcy5wbGF0Zm9ybS5wb2pvLlBhdGllbnRzAAAAAAAAAAECAF1MAAdhZGRyZXNzdAASTGphdmEvbGFuZy9TdHJpbmc7TAAPYWRkcmVzc1Bvc3RSZXN0cQB+AAFMAA9hZGRyZXNzUmVnaXN0ZXJxAH4AAUwAA2FnZXQAE0xqYXZhL2xhbmcvSW50ZWdlcjtMAA\n" +
  34 + "ZhcmVhSWRxAH4AAUwADmFyZWFQb3N0UmVzdElkcQB+AAFMAA5hcmVhUmVnaXN0ZXJJZHEAfgABTAAGYXZhdGFycQB+AAFMAAViaXJ0aHQAEExqYXZhL3V0aWwvRGF0ZTtMABBib29rYnVpbGRpbmdEYXRlcQB+AANMABJib29rYnVpbGRpbmdEb2N0b3JxAH4AAUwACWJ1aWxkVHlw\n" +
  35 + "ZXEAfgACTAAGY2FyZE5vcQB+AAFMAAZjaXR5SWRxAH4AAUwADmNpdHlQb3N0UmVzdElkcQB+AAFMAA5jaXR5UmVnaXN0ZXJJZHEAfgABTAALY29tbXVuaXR5SWRxAH4AAUwAB2NyZWF0ZWRxAH4AA0wABmNyaXNpc3EAfgACTAAKZGVsaXZlck9yZ3EAfgABTAAHZHVlRGF0ZXEAfg\n" +
  36 + "ADTAAJZHVlU3RhdHVzcQB+AAJMAAdkdWVUeXBlcQB+AAFMAAZlbmFibGVxAH4AAUwAB2V4cFR5cGVxAH4AAkwABmV4cFZpcHEAfgACTAAIZmlsZUNvZGVxAH4AAUwAEWZpcnN0Umlza0ZhY3RvcklkdAAQTGphdmEvdXRpbC9MaXN0O0wABmZtRGF0ZXEAfgADTAAJZm9yZWlnbklk\n" +
  37 + "cQB+AAFMAAxmb3JlaWduU3ViSWRxAH4AAUwABmdlbmRlcnEAfgACTAAQaGFkZHJlc3NSZWdpc3RlcnEAfgABTAAPaGFyZWFSZWdpc3RlcklkcQB+AAFMAA9oY2VydGlmaWNhdGVOdW1xAH4AAUwAEmhjZXJ0aWZpY2F0ZVR5cGVJZHEAfgABTAAPaGNpdHlSZWdpc3RlcklkcQB+AA\n" +
  38 + "FMAApoY291bnRyeUlkcQB+AAFMAAxobGV2ZWxUeXBlSWRxAH4AAUwACWhuYXRpb25JZHEAfgABTAAKaG9zcGl0YWxJZHEAfgABTAARaHByb2Zlc3Npb25UeXBlSWRxAH4AAUwAE2hwcm92aW5jZVJlZ2lzdGVySWRxAH4AAUwAEWhzdHJlZXRSZWdpc3RlcklkcQB+AAFMAAxodXNi\n" +
  39 + "YW5kQmlydGhxAH4AA0wAC2h1c2JhbmROYW1lcQB+AAFMAAxodXNiYW5kUGhvbmVxAH4AAUwACWh3b3JrVW5pdHEAfgABTAACaWRxAH4AAUwAB2lzVmlzaXRxAH4AAkwACWxhc3RDVGltZXEAfgADTAATbGFzdENoZWNrRW1wbG95ZWVJZHEAfgABTAAKbGFzdE1lbnNlc3EAfgADTA\n" +
  40 + "AUbGFzdFJlcG9ydERvY3Rvck5hbWVxAH4AAUwADGxhc3RSZXBvcnRJZHEAfgACTAAKbGFzdFJoVGltZXEAfgADTAAIbW9kaWZpZWRxAH4AA0wADm1vbW15UGF0aWVudElkcQB+AAFMAAdtcmVtYXJrcQB+AAFMAA1uZXh0Q2hlY2tUaW1lcQB+AANMAAhvcGVyYXRvcnEAfgACTAAM\n" +
  41 + "cGF0aWVudExldmVscQB+AAJMAA1wY2Vuc3VzVHlwZUlkcQB+AAFMAAxwY2VydGVUeXBlSWRxAH4AAUwACnBjb3VudHJ5SWRxAH4AAUwABXBob25lcQB+AAFMAANwaWRxAH4AAUwADHBsZXZlbFR5cGVJZHEAfgABTAALcGxpdmVUeXBlSWRxAH4AAUwACXBuYXRpb25JZHEAfgABTA\n" +
  42 + "ANcG9zdFZpZXdUaW1lc3EAfgACTAARcHByb2Zlc3Npb25UeXBlSWRxAH4AAUwACnByb3ZpbmNlSWRxAH4AAUwAEnByb3ZpbmNlUG9zdFJlc3RJZHEAfgABTAAScHJvdmluY2VSZWdpc3RlcklkcQB+AAFMAAlwdWJsaXNoSWRxAH4AAUwAC3B1Ymxpc2hOYW1lcQB+AAFMAAlwd29y\n" +
  43 + "a1VuaXRxAH4AAUwADHJpc2tGYWN0b3JJZHEAfgAETAALcmlza0xldmVsSWRxAH4AAUwACXJpc2tTY29yZXEAfgACTAANc2VydmljZVN0YXR1c3EAfgACTAALc2VydmljZVR5cGVxAH4AAkwACHN0cmVldElkcQB+AAFMABBzdHJlZXRQb3N0UmVzdElkcQB+AAFMABBzdHJlZXRSZW\n" +
  44 + "dpc3RlcklkcQB+AAFMAA10cmlhZ2VPcmRlck5vcQB+AAFMAAR0eXBlcQB+AAJMAAh1c2VybmFtZXEAfgABTAAIdmNDYXJkTm9xAH4AAUwAA3ZpcHEAfgACTAAKdmlwRW5kVGltZXEAfgADTAACeW5xAH4AAnhyACljb20ubHltcy5wbGF0Zm9ybS5jb21tb24ucmVzdWx0LkJhc2VN\n" +
  45 + "b2RlbAAAAAAAAAABAgAAeHBwcHBwcHBwcHNyAA5qYXZhLnV0aWwuRGF0ZWhqgQFLWXQZAwAAeHB3CAAAAKgq9OwAeHNxAH4AB3cIAAABWBt4BAB4dAADOTYzc3IAEWphdmEubGFuZy5JbnRlZ2VyEuKgpPeBhzgCAAFJAAV2YWx1ZXhyABBqYXZhLmxhbmcuTnVtYmVyhqyVHQuU4I\n" +
  46 + "sCAAB4cAAAAAJ0ABIxMzAxODQxOTkyMTEyMTI1NDFwcHBwc3EAfgAHdwgAAAFYHp2/33hwcHNxAH4AB3cIAAABWKFdXAB4c3EAfgALAAAAAHBwcHBwcHNxAH4AB3cIAAABWORQCAB4cHBwcHBwdAAkNzBhZTFkOTMtMjk2NC00NmJjLTgzZmEtYmVjOWZmNjA1YjFjcHQAJDBkYTQz\n" +
  47 + "MzRmLTQ5ZTctNDE4MC1iNjkwLTVjZWE2NjhmNzVlOXB0ACRhNjI4YWIzYS0xZTBjLTQyMTktYWIxNC1hMTQ2MzZjNWNkYWF0AAMyNDFwcHBwcHBwdAAYNTgxODM4YzQxOWE0OWNhM2JlYjkxYWI1cHBwc3EAfgAHdwgAAAFS+kJgAHhwcHBzcQB+AAd3CAAAAVjk9NRWeHBwcHNxAH\n" +
  48 + "4ACwAAA8NwcHQAJDcwYWUxZDkzLTI5NjQtNDZiYy04M2ZhLWJlYzlmZjYwNWIxY3QAJDBkYTQzMzRmLTQ5ZTctNDE4MC1iNjkwLTVjZWE2NjhmNzVlOXQACzE1MDc1MTEzNTYwdAAYNTgxODM4YzQxOWE0OWNhM2JlYjkxYWIzcHB0ACRhNjI4YWIzYS0xZTBjLTQyMTktYWIxNC1h\n" +
  49 + "MTQ2MzZjNWNkYWFwcHBwcHBwcHBwcQB+ABFxAH4AEXEAfgARcHBwcHNxAH4ACwAAAAN0AAnmnY7mmKXlqJx0ABBBMTYwMDEwMDAwNjQ4MjQ1cHBzcQB+AAsAAAAB";
  50 +
31 51 }
32 52  
33 53 /**
34 54 * 将byte[]转为各种进制的字符串
  55 + *
35 56 * @param bytes byte[]
36 57 * @param radix 可以转换进制的范围,从Character.MIN_RADIX到Character.MAX_RADIX,超出范围后变为10进制
37 58 * @return 转换后的字符串
38 59 */
39   - public static String binary(byte[] bytes, int radix){
  60 + public static String binary(byte[] bytes, int radix) {
40 61 return new BigInteger(1, bytes).toString(radix);// 这里的1代表正数
41 62 }
42 63  
43 64 /**
44 65 * base 64 encode
  66 + *
45 67 * @param bytes 待编码的byte[]
46 68 * @return 编码后的base 64 code
47 69 */
48   - public static String base64Encode(byte[] bytes){
  70 + public static String base64Encode(byte[] bytes) {
49 71 return new BASE64Encoder().encode(bytes);
50 72 }
51 73  
52 74 /**
53 75 * base 64 decode
  76 + *
54 77 * @param base64Code 待解码的base 64 code
55 78 * @return 解码后的byte[]
56 79 * @throws Exception
57 80 */
58   - public static byte[] base64Decode(String base64Code) throws Exception{
  81 + public static byte[] base64Decode(String base64Code) throws Exception {
59 82 return StringUtils.isEmpty(base64Code) ? null : new BASE64Decoder().decodeBuffer(base64Code);
60 83 }
61 84  
62 85 /**
63 86 * 获取byte[]的md5值
  87 + *
64 88 * @param bytes byte[]
65 89 * @return md5
66 90 * @throws Exception
... ... @@ -74,6 +98,7 @@
74 98  
75 99 /**
76 100 * 获取字符串md5值
  101 + *
77 102 * @param msg
78 103 * @return md5
79 104 * @throws Exception
80 105  
81 106  
... ... @@ -84,17 +109,19 @@
84 109  
85 110 /**
86 111 * 结合base64实现md5加密
  112 + *
87 113 * @param msg 待加密字符串
88 114 * @return 获取md5后转为base64
89 115 * @throws Exception
90 116 */
91   - public static String md5Encrypt(String msg) throws Exception{
  117 + public static String md5Encrypt(String msg) throws Exception {
92 118 return StringUtils.isEmpty(msg) ? null : base64Encode(md5(msg));
93 119 }
94 120  
95 121 /**
96 122 * AES加密
97   - * @param content 待加密的内容
  123 + *
  124 + * @param content 待加密的内容
98 125 * @param encryptKey 加密密钥
99 126 * @return 加密后的byte[]
100 127 * @throws Exception
... ... @@ -113,7 +140,8 @@
113 140  
114 141 /**
115 142 * AES加密为base 64 code
116   - * @param content 待加密的内容
  143 + *
  144 + * @param content 待加密的内容
117 145 * @param encryptKey 加密密钥
118 146 * @return 加密后的base 64 code
119 147 * @throws Exception
120 148  
... ... @@ -124,8 +152,9 @@
124 152  
125 153 /**
126 154 * AES解密
  155 + *
127 156 * @param encryptBytes 待解密的byte[]
128   - * @param decryptKey 解密密钥
  157 + * @param decryptKey 解密密钥
129 158 * @return 解密后的String
130 159 * @throws Exception
131 160 */
... ... @@ -144,6 +173,7 @@
144 173  
145 174 /**
146 175 * 将base 64 code AES解密
  176 + *
147 177 * @param encryptStr 待解密的base 64 code
148 178 * @param decryptKey 解密密钥
149 179 * @return 解密后的string
150 180  
151 181  
152 182  
... ... @@ -155,15 +185,16 @@
155 185  
156 186 /**
157 187 * 将二进制转换成16进制
158   - * @method parseByte2HexStr
  188 + *
159 189 * @param buf
160 190 * @return
161 191 * @throws
  192 + * @method parseByte2HexStr
162 193 * @since v1.0
163 194 */
164   - public static String parseByte2HexStr(byte buf[]){
  195 + public static String parseByte2HexStr(byte buf[]) {
165 196 StringBuffer sb = new StringBuffer();
166   - for(int i = 0; i < buf.length; i++){
  197 + for (int i = 0; i < buf.length; i++) {
167 198 String hex = Integer.toHexString(buf[i] & 0xFF);
168 199 if (hex.length() == 1) {
169 200 hex = '0' + hex;
170 201  
171 202  
172 203  
... ... @@ -175,19 +206,20 @@
175 206  
176 207 /**
177 208 * 将16进制转换为二进制
178   - * @method parseHexStr2Byte
  209 + *
179 210 * @param hexStr
180 211 * @return
181 212 * @throws
  213 + * @method parseHexStr2Byte
182 214 * @since v1.0
183 215 */
184   - public static byte[] parseHexStr2Byte(String hexStr){
185   - if(hexStr.length() < 1)
  216 + public static byte[] parseHexStr2Byte(String hexStr) {
  217 + if (hexStr.length() < 1)
186 218 return null;
187   - byte[] result = new byte[hexStr.length()/2];
188   - for (int i = 0;i< hexStr.length()/2; i++) {
189   - int high = Integer.parseInt(hexStr.substring(i*2, i*2+1), 16);
190   - int low = Integer.parseInt(hexStr.substring(i*2+1, i*2+2), 16);
  219 + byte[] result = new byte[hexStr.length() / 2];
  220 + for (int i = 0; i < hexStr.length() / 2; i++) {
  221 + int high = Integer.parseInt(hexStr.substring(i * 2, i * 2 + 1), 16);
  222 + int low = Integer.parseInt(hexStr.substring(i * 2 + 1, i * 2 + 2), 16);
191 223 result[i] = (byte) (high * 16 + low);
192 224 }
193 225 return result;