From c949968c6620ba3b1e92da935976e69025e1586b Mon Sep 17 00:00:00 2001 From: jiangjiazhi Date: Tue, 14 Feb 2017 11:23:57 +0800 Subject: [PATCH] updated --- .../lyms/platform/common/utils/LymsEncodeUtil.java | 76 +++++++++++++++------- 1 file changed, 54 insertions(+), 22 deletions(-) diff --git a/platform-common/src/main/java/com/lyms/platform/common/utils/LymsEncodeUtil.java b/platform-common/src/main/java/com/lyms/platform/common/utils/LymsEncodeUtil.java index ff325af..64cdf37 100644 --- a/platform-common/src/main/java/com/lyms/platform/common/utils/LymsEncodeUtil.java +++ b/platform-common/src/main/java/com/lyms/platform/common/utils/LymsEncodeUtil.java @@ -1,5 +1,6 @@ package com.lyms.platform.common.utils; +import org.apache.commons.codec.binary.Base64; import org.apache.commons.lang.*; import sun.misc.BASE64Decoder; import sun.misc.BASE64Encoder; @@ -17,50 +18,73 @@ import java.security.SecureRandom; public class LymsEncodeUtil { public static void main(String[] args) throws Exception { - String content = "我爱你"; + String key = "Lymsh@2016"; +/* String content = "我爱你"; System.out.println("加密前:" + content); - String key = "Lymsh@2016"; + System.out.println("加密密钥和解密密钥:" + key); String encrypt = aesEncrypt("57fada6128b63c3192cc963b", key); - System.out.println("加密后:" + encrypt); + System.out.println("加密后:" + encrypt);*/ + + String json = aesDecrypt("26EB0301C4A2410E90985A3E55856E4B4C04BE4EB806C5597D8C79BB138DA77CDAE3B1C80268FE887D3804F73B8B5BEA", key); + System.out.println("解密后:" + json); + String j = "rO0ABXNyAB9jb20ubHltcy5wbGF0Zm9ybS5wb2pvLlBhdGllbnRzAAAAAAAAAAECAF1MAAdhZGRyZXNzdAASTGphdmEvbGFuZy9TdHJpbmc7TAAPYWRkcmVzc1Bvc3RSZXN0cQB+AAFMAA9hZGRyZXNzUmVnaXN0ZXJxAH4AAUwAA2FnZXQAE0xqYXZhL2xhbmcvSW50ZWdlcjtMAA\n" + + "ZhcmVhSWRxAH4AAUwADmFyZWFQb3N0UmVzdElkcQB+AAFMAA5hcmVhUmVnaXN0ZXJJZHEAfgABTAAGYXZhdGFycQB+AAFMAAViaXJ0aHQAEExqYXZhL3V0aWwvRGF0ZTtMABBib29rYnVpbGRpbmdEYXRlcQB+AANMABJib29rYnVpbGRpbmdEb2N0b3JxAH4AAUwACWJ1aWxkVHlw\n" + + "ZXEAfgACTAAGY2FyZE5vcQB+AAFMAAZjaXR5SWRxAH4AAUwADmNpdHlQb3N0UmVzdElkcQB+AAFMAA5jaXR5UmVnaXN0ZXJJZHEAfgABTAALY29tbXVuaXR5SWRxAH4AAUwAB2NyZWF0ZWRxAH4AA0wABmNyaXNpc3EAfgACTAAKZGVsaXZlck9yZ3EAfgABTAAHZHVlRGF0ZXEAfg\n" + + "ADTAAJZHVlU3RhdHVzcQB+AAJMAAdkdWVUeXBlcQB+AAFMAAZlbmFibGVxAH4AAUwAB2V4cFR5cGVxAH4AAkwABmV4cFZpcHEAfgACTAAIZmlsZUNvZGVxAH4AAUwAEWZpcnN0Umlza0ZhY3RvcklkdAAQTGphdmEvdXRpbC9MaXN0O0wABmZtRGF0ZXEAfgADTAAJZm9yZWlnbklk\n" + + "cQB+AAFMAAxmb3JlaWduU3ViSWRxAH4AAUwABmdlbmRlcnEAfgACTAAQaGFkZHJlc3NSZWdpc3RlcnEAfgABTAAPaGFyZWFSZWdpc3RlcklkcQB+AAFMAA9oY2VydGlmaWNhdGVOdW1xAH4AAUwAEmhjZXJ0aWZpY2F0ZVR5cGVJZHEAfgABTAAPaGNpdHlSZWdpc3RlcklkcQB+AA\n" + + "FMAApoY291bnRyeUlkcQB+AAFMAAxobGV2ZWxUeXBlSWRxAH4AAUwACWhuYXRpb25JZHEAfgABTAAKaG9zcGl0YWxJZHEAfgABTAARaHByb2Zlc3Npb25UeXBlSWRxAH4AAUwAE2hwcm92aW5jZVJlZ2lzdGVySWRxAH4AAUwAEWhzdHJlZXRSZWdpc3RlcklkcQB+AAFMAAxodXNi\n" + + "YW5kQmlydGhxAH4AA0wAC2h1c2JhbmROYW1lcQB+AAFMAAxodXNiYW5kUGhvbmVxAH4AAUwACWh3b3JrVW5pdHEAfgABTAACaWRxAH4AAUwAB2lzVmlzaXRxAH4AAkwACWxhc3RDVGltZXEAfgADTAATbGFzdENoZWNrRW1wbG95ZWVJZHEAfgABTAAKbGFzdE1lbnNlc3EAfgADTA\n" + + "AUbGFzdFJlcG9ydERvY3Rvck5hbWVxAH4AAUwADGxhc3RSZXBvcnRJZHEAfgACTAAKbGFzdFJoVGltZXEAfgADTAAIbW9kaWZpZWRxAH4AA0wADm1vbW15UGF0aWVudElkcQB+AAFMAAdtcmVtYXJrcQB+AAFMAA1uZXh0Q2hlY2tUaW1lcQB+AANMAAhvcGVyYXRvcnEAfgACTAAM\n" + + "cGF0aWVudExldmVscQB+AAJMAA1wY2Vuc3VzVHlwZUlkcQB+AAFMAAxwY2VydGVUeXBlSWRxAH4AAUwACnBjb3VudHJ5SWRxAH4AAUwABXBob25lcQB+AAFMAANwaWRxAH4AAUwADHBsZXZlbFR5cGVJZHEAfgABTAALcGxpdmVUeXBlSWRxAH4AAUwACXBuYXRpb25JZHEAfgABTA\n" + + "ANcG9zdFZpZXdUaW1lc3EAfgACTAARcHByb2Zlc3Npb25UeXBlSWRxAH4AAUwACnByb3ZpbmNlSWRxAH4AAUwAEnByb3ZpbmNlUG9zdFJlc3RJZHEAfgABTAAScHJvdmluY2VSZWdpc3RlcklkcQB+AAFMAAlwdWJsaXNoSWRxAH4AAUwAC3B1Ymxpc2hOYW1lcQB+AAFMAAlwd29y\n" + + "a1VuaXRxAH4AAUwADHJpc2tGYWN0b3JJZHEAfgAETAALcmlza0xldmVsSWRxAH4AAUwACXJpc2tTY29yZXEAfgACTAANc2VydmljZVN0YXR1c3EAfgACTAALc2VydmljZVR5cGVxAH4AAkwACHN0cmVldElkcQB+AAFMABBzdHJlZXRQb3N0UmVzdElkcQB+AAFMABBzdHJlZXRSZW\n" + + "dpc3RlcklkcQB+AAFMAA10cmlhZ2VPcmRlck5vcQB+AAFMAAR0eXBlcQB+AAJMAAh1c2VybmFtZXEAfgABTAAIdmNDYXJkTm9xAH4AAUwAA3ZpcHEAfgACTAAKdmlwRW5kVGltZXEAfgADTAACeW5xAH4AAnhyACljb20ubHltcy5wbGF0Zm9ybS5jb21tb24ucmVzdWx0LkJhc2VN\n" + + "b2RlbAAAAAAAAAABAgAAeHBwcHBwcHBwcHNyAA5qYXZhLnV0aWwuRGF0ZWhqgQFLWXQZAwAAeHB3CAAAAKgq9OwAeHNxAH4AB3cIAAABWBt4BAB4dAADOTYzc3IAEWphdmEubGFuZy5JbnRlZ2VyEuKgpPeBhzgCAAFJAAV2YWx1ZXhyABBqYXZhLmxhbmcuTnVtYmVyhqyVHQuU4I\n" + + "sCAAB4cAAAAAJ0ABIxMzAxODQxOTkyMTEyMTI1NDFwcHBwc3EAfgAHdwgAAAFYHp2/33hwcHNxAH4AB3cIAAABWKFdXAB4c3EAfgALAAAAAHBwcHBwcHNxAH4AB3cIAAABWORQCAB4cHBwcHBwdAAkNzBhZTFkOTMtMjk2NC00NmJjLTgzZmEtYmVjOWZmNjA1YjFjcHQAJDBkYTQz\n" + + "MzRmLTQ5ZTctNDE4MC1iNjkwLTVjZWE2NjhmNzVlOXB0ACRhNjI4YWIzYS0xZTBjLTQyMTktYWIxNC1hMTQ2MzZjNWNkYWF0AAMyNDFwcHBwcHBwdAAYNTgxODM4YzQxOWE0OWNhM2JlYjkxYWI1cHBwc3EAfgAHdwgAAAFS+kJgAHhwcHBzcQB+AAd3CAAAAVjk9NRWeHBwcHNxAH\n" + + "4ACwAAA8NwcHQAJDcwYWUxZDkzLTI5NjQtNDZiYy04M2ZhLWJlYzlmZjYwNWIxY3QAJDBkYTQzMzRmLTQ5ZTctNDE4MC1iNjkwLTVjZWE2NjhmNzVlOXQACzE1MDc1MTEzNTYwdAAYNTgxODM4YzQxOWE0OWNhM2JlYjkxYWIzcHB0ACRhNjI4YWIzYS0xZTBjLTQyMTktYWIxNC1h\n" + + "MTQ2MzZjNWNkYWFwcHBwcHBwcHBwcQB+ABFxAH4AEXEAfgARcHBwcHNxAH4ACwAAAAN0AAnmnY7mmKXlqJx0ABBBMTYwMDEwMDAwNjQ4MjQ1cHBzcQB+AAsAAAAB"; - String decrypt = aesDecrypt("26EB0301C4A2410E90985A3E55856E4B86730CD45542FD5129D8EDC5ED4C690D", key); - System.out.println("解密后:" + decrypt); } /** * 将byte[]转为各种进制的字符串 + * * @param bytes byte[] * @param radix 可以转换进制的范围,从Character.MIN_RADIX到Character.MAX_RADIX,超出范围后变为10进制 * @return 转换后的字符串 */ - public static String binary(byte[] bytes, int radix){ + public static String binary(byte[] bytes, int radix) { return new BigInteger(1, bytes).toString(radix);// 这里的1代表正数 } /** * base 64 encode + * * @param bytes 待编码的byte[] * @return 编码后的base 64 code */ - public static String base64Encode(byte[] bytes){ + public static String base64Encode(byte[] bytes) { return new BASE64Encoder().encode(bytes); } /** * base 64 decode + * * @param base64Code 待解码的base 64 code * @return 解码后的byte[] * @throws Exception */ - public static byte[] base64Decode(String base64Code) throws Exception{ + public static byte[] base64Decode(String base64Code) throws Exception { return StringUtils.isEmpty(base64Code) ? null : new BASE64Decoder().decodeBuffer(base64Code); } /** * 获取byte[]的md5值 + * * @param bytes byte[] * @return md5 * @throws Exception @@ -74,6 +98,7 @@ public class LymsEncodeUtil { /** * 获取字符串md5值 + * * @param msg * @return md5 * @throws Exception @@ -84,17 +109,19 @@ public class LymsEncodeUtil { /** * 结合base64实现md5加密 + * * @param msg 待加密字符串 * @return 获取md5后转为base64 * @throws Exception */ - public static String md5Encrypt(String msg) throws Exception{ + public static String md5Encrypt(String msg) throws Exception { return StringUtils.isEmpty(msg) ? null : base64Encode(md5(msg)); } /** * AES加密 - * @param content 待加密的内容 + * + * @param content 待加密的内容 * @param encryptKey 加密密钥 * @return 加密后的byte[] * @throws Exception @@ -113,7 +140,8 @@ public class LymsEncodeUtil { /** * AES加密为base 64 code - * @param content 待加密的内容 + * + * @param content 待加密的内容 * @param encryptKey 加密密钥 * @return 加密后的base 64 code * @throws Exception @@ -124,8 +152,9 @@ public class LymsEncodeUtil { /** * AES解密 + * * @param encryptBytes 待解密的byte[] - * @param decryptKey 解密密钥 + * @param decryptKey 解密密钥 * @return 解密后的String * @throws Exception */ @@ -144,6 +173,7 @@ public class LymsEncodeUtil { /** * 将base 64 code AES解密 + * * @param encryptStr 待解密的base 64 code * @param decryptKey 解密密钥 * @return 解密后的string @@ -155,15 +185,16 @@ public class LymsEncodeUtil { /** * 将二进制转换成16进制 - * @method parseByte2HexStr + * * @param buf * @return * @throws + * @method parseByte2HexStr * @since v1.0 */ - public static String parseByte2HexStr(byte buf[]){ + public static String parseByte2HexStr(byte buf[]) { StringBuffer sb = new StringBuffer(); - for(int i = 0; i < buf.length; i++){ + for (int i = 0; i < buf.length; i++) { String hex = Integer.toHexString(buf[i] & 0xFF); if (hex.length() == 1) { hex = '0' + hex; @@ -175,19 +206,20 @@ public class LymsEncodeUtil { /** * 将16进制转换为二进制 - * @method parseHexStr2Byte + * * @param hexStr * @return * @throws + * @method parseHexStr2Byte * @since v1.0 */ - public static byte[] parseHexStr2Byte(String hexStr){ - if(hexStr.length() < 1) + public static byte[] parseHexStr2Byte(String hexStr) { + if (hexStr.length() < 1) return null; - byte[] result = new byte[hexStr.length()/2]; - for (int i = 0;i< hexStr.length()/2; i++) { - int high = Integer.parseInt(hexStr.substring(i*2, i*2+1), 16); - int low = Integer.parseInt(hexStr.substring(i*2+1, i*2+2), 16); + byte[] result = new byte[hexStr.length() / 2]; + for (int i = 0; i < hexStr.length() / 2; i++) { + int high = Integer.parseInt(hexStr.substring(i * 2, i * 2 + 1), 16); + int low = Integer.parseInt(hexStr.substring(i * 2 + 1, i * 2 + 2), 16); result[i] = (byte) (high * 16 + low); } return result; -- 1.8.3.1