{"id":4726,"date":"2020-07-05T21:17:16","date_gmt":"2020-07-05T13:17:16","guid":{"rendered":"http:\/\/www.menglanglang.cn\/?p=4726"},"modified":"2020-07-05T21:30:42","modified_gmt":"2020-07-05T13:30:42","slug":"spring-boot-%e5%88%9d%e7%ba%a7%e5%85%a5%e9%97%a8%e6%95%99%e7%a8%8b%ef%bc%88%e4%ba%8c%e5%8d%81%ef%bc%89-%e9%85%8d%e7%bd%ae%e6%96%87%e4%bb%b6%e5%af%86%e7%a0%81%e4%bf%a1%e6%81%af","status":"publish","type":"post","link":"http:\/\/www.menglanglang.cn\/?p=4726","title":{"rendered":"Spring Boot \u521d\u7ea7\u5165\u95e8\u6559\u7a0b\uff08\u4e8c\u5341\uff09 \u2014\u2014 \u914d\u7f6e\u6587\u4ef6\u5bc6\u7801\u4fe1\u606f\u81ea\u5b9a\u4e49\u7b97\u6cd5\u52a0\u5bc6"},"content":{"rendered":"\n<p>\u968f\u7740\u4fe1\u606f\u5b89\u5168\u9632\u62a4\u63aa\u65bd\u7684\u63d0\u5347\uff0c\u8d8a\u6765\u8d8a\u591a\u7684\u9879\u76ee\u8981\u6c42\u9879\u76ee\u4e2d\u7684\u5bc6\u7801\u4e0d\u80fd\u6709\u660e\u6587\uff0c\u90fd\u9700\u8981\u52a0\u5bc6\uff0c\u914d\u7f6e\u6587\u4ef6\u4e2d\u76f8\u5173\u7684\u5bc6\u7801\u4e5f\u4e0d\u4f8b\u5916\uff0c\u90fd\u9700\u8981\u8fdb\u884c\u52a0\u5bc6\u5904\u7406\u540e\u518d\u914d\u7f6e\u3002\u90a3\u5982\u4f55\u5bf9 SpringBoot \u914d\u7f6e\u6587\u4ef6\u4e2d\u7684\u660e\u6587\u5bc6\u7801\u8fdb\u884c\u52a0\u5bc6\u5462\uff1f\u8fd9\u7bc7\u5c31\u4ee5\u524d\u9762\u7684\u6570\u636e\u6e90\u914d\u7f6e\u4e3a\u4f8b\uff0c\u5bf9\u6570\u636e\u5e93\u7528\u6237\u5bf9\u5e94\u7684\u5bc6\u7801\u8fdb\u884c\u52a0\u5bc6\uff0c\u52a0\u5bc6\u65b9\u5f0f\u4e3a\u81ea\u5b9a\u4e49\u7b97\u6cd5\u52a0\u5bc6\u3002<\/p>\n\n\n\n<p>\u8fd9\u7bc7\u5f00\u59cb\uff0c\u7531\u4e8e\u81ea\u5df1\u4e5f\u9010\u6e10\u53bb\u5b66\u4e60\u5e76\u9002\u5e94 IDEA \u5de5\u5177\u7684\u5f00\u53d1\uff0c\u6240\u4ee5\u628a\u9879\u76ee\u5de5\u7a0b\u4ece STS \u5f00\u53d1\u73af\u5883\u8fc1\u79fb\u5230\u4e86 IDEA \u5f00\u53d1\u73af\u5883\u3002<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">\u7b2c\u4e00\u6b65\uff0c\u521b\u5efa\u52a0\u5bc6\u5de5\u5177\u7c7b<\/h3>\n\n\n\n<p>\u65e2\u7136\u662f\u81ea\u5b9a\u4e49\u7b97\u6cd5\u52a0\u5bc6\uff0c\u90a3\u9996\u5148\u9700\u8981\u6709\u4e2a\u81ea\u5b9a\u4e49\u52a0\u5bc6\u89e3\u5bc6\u7684\u65b9\u6cd5\uff0c\u53ef\u4ee5\u5c01\u88c5\u4e3a\u5de5\u5177\u7c7b\u653e\u5230\u9879\u76ee\u4e2d\uff0c\u81f3\u4e8e\u52a0\u5bc6\u7b97\u6cd5\u7684\u590d\u6742\u6027\uff0c\u53ef\u4ee5\u968f\u9879\u76ee\u8981\u6c42\u5b9a\u4e49\uff0c\u8fd9\u91cc\u5c31\u62ff\u4e2a\u7b80\u5355\u7684\u52a0\u5bc6\u65b9\u6cd5\u505a\u6d4b\u8bd5\u3002\u7531\u4e8e\u6ca1\u6709\u5bf9\u5e94\u7684\u5305\uff0c\u8fd9\u91cc\u5148\u5efa\u4e2a\u5de5\u5177\u7c7b\u7684\u5305util\uff0c\u5982\u56fe\uff1a<\/p>\n\n\n\n<p>\u200b<img loading=\"lazy\" decoding=\"async\" height=\"499\" width=\"421\" alt=\"\" src=\"\/\/images.weserv.nl\/?url=https:\/\/img-blog.csdnimg.cn\/20200617213801730.png\"\/><\/p>\n\n\n\n<p>\u521b\u5efa\u52a0\u5bc6\u89e3\u5bc6\u5de5\u5177\u7c7b&nbsp;Base64Util.java\uff0c\u4e3b\u8981\u4ee3\u7801\u5982\u4e0b\uff1a<\/p>\n\n\n\n<div class=\"dp-highlighter\"><div class=\"bar\"><\/div><ol start=\"1\" class=\"dp-j\"><li class=\"alt\"><span><span class=\"keyword\">package<\/span><span>&nbsp;cn.menglanglang.test.springboot.util;&nbsp;&nbsp;<\/span><\/span><\/li><li class=\"\"><span>&nbsp;&nbsp;<\/span><\/li><li class=\"alt\"><span><span class=\"keyword\">import<\/span><span>&nbsp;javax.crypto.Cipher;&nbsp;&nbsp;<\/span><\/span><\/li><li class=\"\"><span><span class=\"keyword\">import<\/span><span>&nbsp;javax.crypto.SecretKey;&nbsp;&nbsp;<\/span><\/span><\/li><li class=\"alt\"><span><span class=\"keyword\">import<\/span><span>&nbsp;javax.crypto.SecretKeyFactory;&nbsp;&nbsp;<\/span><\/span><\/li><li class=\"\"><span><span class=\"keyword\">import<\/span><span>&nbsp;javax.crypto.spec.DESKeySpec;&nbsp;&nbsp;<\/span><\/span><\/li><li class=\"alt\"><span><span class=\"keyword\">import<\/span><span>&nbsp;java.security.InvalidKeyException;&nbsp;&nbsp;<\/span><\/span><\/li><li class=\"\"><span><span class=\"keyword\">import<\/span><span>&nbsp;java.security.NoSuchAlgorithmException;&nbsp;&nbsp;<\/span><\/span><\/li><li class=\"alt\"><span><span class=\"keyword\">import<\/span><span>&nbsp;java.security.spec.InvalidKeySpecException;&nbsp;&nbsp;<\/span><\/span><\/li><li class=\"\"><span><span class=\"keyword\">import<\/span><span>&nbsp;java.util.Collection;&nbsp;&nbsp;<\/span><\/span><\/li><li class=\"alt\"><span><span class=\"keyword\">import<\/span><span>&nbsp;java.util.Map;&nbsp;&nbsp;<\/span><\/span><\/li><li class=\"\"><span>&nbsp;&nbsp;<\/span><\/li><li class=\"alt\"><span><span class=\"comment\">\/**<\/span>&nbsp;<\/span><\/li><li class=\"\"><span><span class=\"comment\">&nbsp;*&nbsp;@author&nbsp;\u5b5f\u90ce\u90ce<\/span>&nbsp;<\/span><\/li><li class=\"alt\"><span><span class=\"comment\">&nbsp;*&nbsp;@version&nbsp;1.0<\/span>&nbsp;<\/span><\/li><li class=\"\"><span><span class=\"comment\">&nbsp;*&nbsp;@desc&nbsp;\u57fa\u4e8e&nbsp;base64&nbsp;\u7f16\u7801\u52a0\u5bc6\u89e3\u5bc6\u5b57\u7b26\u4e32\u5de5\u5177\u7c7b<\/span>&nbsp;<\/span><\/li><li class=\"alt\"><span><span class=\"comment\">&nbsp;*&nbsp;@blog&nbsp;http:\/\/www.menglanglang.cn<\/span>&nbsp;<\/span><\/li><li class=\"\"><span><span class=\"comment\">&nbsp;*&nbsp;@date&nbsp;2020\/7\/5&nbsp;19:20<\/span>&nbsp;<\/span><\/li><li class=\"alt\"><span><span class=\"comment\">&nbsp;*\/<\/span><span>&nbsp;&nbsp;<\/span><\/span><\/li><li class=\"\"><span><span class=\"keyword\">public<\/span><span>&nbsp;<\/span><span class=\"keyword\">class<\/span><span>&nbsp;EADcryptUtil&nbsp;{&nbsp;&nbsp;<\/span><\/span><\/li><li class=\"alt\"><span>&nbsp;&nbsp;<\/span><\/li><li class=\"\"><span>&nbsp;&nbsp;&nbsp;&nbsp;<span class=\"keyword\">private<\/span><span>&nbsp;<\/span><span class=\"keyword\">static<\/span><span>&nbsp;<\/span><span class=\"keyword\">final<\/span><span>&nbsp;String&nbsp;DES_ALGORITHM&nbsp;=&nbsp;<\/span><span class=\"string\">\"DES\"<\/span><span>;&nbsp;&nbsp;<\/span><\/span><\/li><li class=\"alt\"><span>&nbsp;&nbsp;&nbsp;&nbsp;<span class=\"keyword\">private<\/span><span>&nbsp;<\/span><span class=\"keyword\">static<\/span><span>&nbsp;<\/span><span class=\"keyword\">final<\/span><span>&nbsp;String&nbsp;SECRET_KEY&nbsp;=&nbsp;<\/span><span class=\"string\">\"DEFAULT_KEY\"<\/span><span>;&nbsp;&nbsp;<\/span><\/span><\/li><li class=\"\"><span>&nbsp;&nbsp;<\/span><\/li><li class=\"alt\"><span>&nbsp;&nbsp;&nbsp;&nbsp;<span class=\"comment\">\/**<\/span>&nbsp;<\/span><\/li><li class=\"\"><span><span class=\"comment\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;DES\u9ed8\u8ba4\u5bc6\u94a5\u52a0\u5bc6<\/span>&nbsp;<\/span><\/li><li class=\"alt\"><span><span class=\"comment\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*<\/span>&nbsp;<\/span><\/li><li class=\"\"><span><span class=\"comment\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;@param&nbsp;plainData<\/span>&nbsp;<\/span><\/li><li class=\"alt\"><span><span class=\"comment\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;@return<\/span>&nbsp;<\/span><\/li><li class=\"\"><span><span class=\"comment\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;@throws&nbsp;Exception<\/span>&nbsp;<\/span><\/li><li class=\"alt\"><span><span class=\"comment\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*\/<\/span><span>&nbsp;&nbsp;<\/span><\/span><\/li><li class=\"\"><span>&nbsp;&nbsp;&nbsp;&nbsp;<span class=\"keyword\">public<\/span><span>&nbsp;<\/span><span class=\"keyword\">static<\/span><span>&nbsp;String&nbsp;encryptDES(String&nbsp;plainData)&nbsp;{&nbsp;&nbsp;<\/span><\/span><\/li><li class=\"alt\"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class=\"keyword\">return<\/span><span>&nbsp;encryptDES(plainData,&nbsp;SECRET_KEY);&nbsp;&nbsp;<\/span><\/span><\/li><li class=\"\"><span>&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;&nbsp;<\/span><\/li><li class=\"alt\"><span>&nbsp;&nbsp;<\/span><\/li><li class=\"\"><span>&nbsp;&nbsp;&nbsp;&nbsp;<span class=\"comment\">\/**<\/span>&nbsp;<\/span><\/li><li class=\"alt\"><span><span class=\"comment\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;DES\u9ed8\u8ba4\u5bc6\u94a5\u89e3\u5bc6<\/span>&nbsp;<\/span><\/li><li class=\"\"><span><span class=\"comment\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*<\/span>&nbsp;<\/span><\/li><li class=\"alt\"><span><span class=\"comment\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;@param&nbsp;secretData<\/span>&nbsp;<\/span><\/li><li class=\"\"><span><span class=\"comment\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;@return<\/span>&nbsp;<\/span><\/li><li class=\"alt\"><span><span class=\"comment\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;@throws&nbsp;Exception<\/span>&nbsp;<\/span><\/li><li class=\"\"><span><span class=\"comment\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*\/<\/span><span>&nbsp;&nbsp;<\/span><\/span><\/li><li class=\"alt\"><span>&nbsp;&nbsp;&nbsp;&nbsp;<span class=\"keyword\">public<\/span><span>&nbsp;<\/span><span class=\"keyword\">static<\/span><span>&nbsp;String&nbsp;decryptDES(String&nbsp;secretData)&nbsp;{&nbsp;&nbsp;<\/span><\/span><\/li><li class=\"\"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class=\"keyword\">return<\/span><span>&nbsp;decryptDES(secretData,&nbsp;SECRET_KEY);&nbsp;&nbsp;<\/span><\/span><\/li><li class=\"alt\"><span>&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;&nbsp;<\/span><\/li><li class=\"\"><span>&nbsp;&nbsp;<\/span><\/li><li class=\"alt\"><span>&nbsp;&nbsp;&nbsp;&nbsp;<span class=\"comment\">\/**<\/span>&nbsp;<\/span><\/li><li class=\"\"><span><span class=\"comment\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;DES\u6307\u5b9a\u5bc6\u94a5\u52a0\u5bc6<\/span>&nbsp;<\/span><\/li><li class=\"alt\"><span><span class=\"comment\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*<\/span>&nbsp;<\/span><\/li><li class=\"\"><span><span class=\"comment\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;@param&nbsp;plainData<\/span>&nbsp;<\/span><\/li><li class=\"alt\"><span><span class=\"comment\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;@param&nbsp;secretKey<\/span>&nbsp;<\/span><\/li><li class=\"\"><span><span class=\"comment\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;@return<\/span>&nbsp;<\/span><\/li><li class=\"alt\"><span><span class=\"comment\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;@throws&nbsp;Exception<\/span>&nbsp;<\/span><\/li><li class=\"\"><span><span class=\"comment\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*\/<\/span><span>&nbsp;&nbsp;<\/span><\/span><\/li><li class=\"alt\"><span>&nbsp;&nbsp;&nbsp;&nbsp;<span class=\"keyword\">public<\/span><span>&nbsp;<\/span><span class=\"keyword\">static<\/span><span>&nbsp;String&nbsp;encryptDES(String&nbsp;plainData,&nbsp;String&nbsp;secretKey)&nbsp;{&nbsp;&nbsp;<\/span><\/span><\/li><li class=\"\"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class=\"keyword\">if<\/span><span>&nbsp;(isObjNull(plainData))&nbsp;{&nbsp;&nbsp;<\/span><\/span><\/li><li class=\"alt\"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class=\"keyword\">return<\/span><span>&nbsp;<\/span><span class=\"string\">\"\"<\/span><span>;&nbsp;&nbsp;<\/span><\/span><\/li><li class=\"\"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;&nbsp;<\/span><\/li><li class=\"alt\"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Cipher&nbsp;cipher&nbsp;=&nbsp;<span class=\"keyword\">null<\/span><span>;&nbsp;&nbsp;<\/span><\/span><\/li><li class=\"\"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class=\"keyword\">byte<\/span><span>[]&nbsp;buf&nbsp;=&nbsp;<\/span><span class=\"keyword\">null<\/span><span>;&nbsp;&nbsp;<\/span><\/span><\/li><li class=\"alt\"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class=\"keyword\">try<\/span><span>&nbsp;{&nbsp;&nbsp;<\/span><\/span><\/li><li class=\"\"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;cipher&nbsp;=&nbsp;Cipher.getInstance(DES_ALGORITHM);&nbsp;&nbsp;<\/span><\/li><li class=\"alt\"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;cipher.init(Cipher.ENCRYPT_MODE,&nbsp;generateKey(secretKey));&nbsp;&nbsp;<\/span><\/li><li class=\"\"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;buf&nbsp;=&nbsp;cipher.doFinal(plainData.getBytes());&nbsp;&nbsp;<\/span><\/li><li class=\"alt\"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;<span class=\"keyword\">catch<\/span><span>&nbsp;(Exception&nbsp;e)&nbsp;{&nbsp;&nbsp;<\/span><\/span><\/li><li class=\"\"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;e.printStackTrace();&nbsp;&nbsp;<\/span><\/li><li class=\"alt\"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class=\"keyword\">return<\/span><span>&nbsp;<\/span><span class=\"string\">\"\"<\/span><span>;&nbsp;&nbsp;<\/span><\/span><\/li><li class=\"\"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;&nbsp;<\/span><\/li><li class=\"alt\"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class=\"keyword\">return<\/span><span>&nbsp;Base64Utils.encode(buf);&nbsp;&nbsp;<\/span><\/span><\/li><li class=\"\"><span>&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;&nbsp;<\/span><\/li><li class=\"alt\"><span>&nbsp;&nbsp;<\/span><\/li><li class=\"\"><span>&nbsp;&nbsp;&nbsp;&nbsp;<span class=\"comment\">\/**<\/span>&nbsp;<\/span><\/li><li class=\"alt\"><span><span class=\"comment\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;DES\u6307\u5b9a\u5bc6\u94a5\u89e3\u5bc6<\/span>&nbsp;<\/span><\/li><li class=\"\"><span><span class=\"comment\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*<\/span>&nbsp;<\/span><\/li><li class=\"alt\"><span><span class=\"comment\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;@param&nbsp;secretData<\/span>&nbsp;<\/span><\/li><li class=\"\"><span><span class=\"comment\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;@param&nbsp;secretKey<\/span>&nbsp;<\/span><\/li><li class=\"alt\"><span><span class=\"comment\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;@return<\/span>&nbsp;<\/span><\/li><li class=\"\"><span><span class=\"comment\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;@throws&nbsp;Exception<\/span>&nbsp;<\/span><\/li><li class=\"alt\"><span><span class=\"comment\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*\/<\/span><span>&nbsp;&nbsp;<\/span><\/span><\/li><li class=\"\"><span>&nbsp;&nbsp;&nbsp;&nbsp;<span class=\"keyword\">public<\/span><span>&nbsp;<\/span><span class=\"keyword\">static<\/span><span>&nbsp;String&nbsp;decryptDES(String&nbsp;secretData,&nbsp;String&nbsp;secretKey)&nbsp;{&nbsp;&nbsp;<\/span><\/span><\/li><li class=\"alt\"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class=\"keyword\">if<\/span><span>&nbsp;(isObjNull(secretData))&nbsp;{&nbsp;&nbsp;<\/span><\/span><\/li><li class=\"\"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class=\"keyword\">return<\/span><span>&nbsp;<\/span><span class=\"string\">\"\"<\/span><span>;&nbsp;&nbsp;<\/span><\/span><\/li><li class=\"alt\"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;&nbsp;<\/span><\/li><li class=\"\"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Cipher&nbsp;cipher&nbsp;=&nbsp;<span class=\"keyword\">null<\/span><span>;&nbsp;&nbsp;<\/span><\/span><\/li><li class=\"alt\"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class=\"keyword\">byte<\/span><span>[]&nbsp;buf&nbsp;=&nbsp;<\/span><span class=\"keyword\">null<\/span><span>;&nbsp;&nbsp;<\/span><\/span><\/li><li class=\"\"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class=\"keyword\">try<\/span><span>&nbsp;{&nbsp;&nbsp;<\/span><\/span><\/li><li class=\"alt\"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;cipher&nbsp;=&nbsp;Cipher.getInstance(DES_ALGORITHM);&nbsp;&nbsp;<\/span><\/li><li class=\"\"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;cipher.init(Cipher.DECRYPT_MODE,&nbsp;generateKey(secretKey));&nbsp;&nbsp;<\/span><\/li><li class=\"alt\"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;buf&nbsp;=&nbsp;cipher.doFinal(Base64Utils.decode(secretData.toCharArray()));&nbsp;&nbsp;<\/span><\/li><li class=\"\"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;<span class=\"keyword\">catch<\/span><span>&nbsp;(Exception&nbsp;e)&nbsp;{&nbsp;&nbsp;<\/span><\/span><\/li><li class=\"alt\"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;e.printStackTrace();&nbsp;&nbsp;<\/span><\/li><li class=\"\"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class=\"keyword\">return<\/span><span>&nbsp;<\/span><span class=\"string\">\"\"<\/span><span>;&nbsp;&nbsp;<\/span><\/span><\/li><li class=\"alt\"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;&nbsp;<\/span><\/li><li class=\"\"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class=\"keyword\">return<\/span><span>&nbsp;<\/span><span class=\"keyword\">new<\/span><span>&nbsp;String(buf);&nbsp;&nbsp;<\/span><\/span><\/li><li class=\"alt\"><span>&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;&nbsp;<\/span><\/li><li class=\"\"><span>&nbsp;&nbsp;<\/span><\/li><li class=\"alt\"><span>&nbsp;&nbsp;&nbsp;&nbsp;<span class=\"comment\">\/**<\/span>&nbsp;<\/span><\/li><li class=\"\"><span><span class=\"comment\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;\u83b7\u5f97\u5bc6\u94a5<\/span>&nbsp;<\/span><\/li><li class=\"alt\"><span><span class=\"comment\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*<\/span>&nbsp;<\/span><\/li><li class=\"\"><span><span class=\"comment\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;@param&nbsp;secretKey<\/span>&nbsp;<\/span><\/li><li class=\"alt\"><span><span class=\"comment\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;@return<\/span>&nbsp;<\/span><\/li><li class=\"\"><span><span class=\"comment\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;@throws&nbsp;NoSuchAlgorithmException<\/span>&nbsp;<\/span><\/li><li class=\"alt\"><span><span class=\"comment\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;@throws&nbsp;InvalidKeyException<\/span>&nbsp;<\/span><\/li><li class=\"\"><span><span class=\"comment\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;@throws&nbsp;InvalidKeySpecException<\/span>&nbsp;<\/span><\/li><li class=\"alt\"><span><span class=\"comment\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*\/<\/span><span>&nbsp;&nbsp;<\/span><\/span><\/li><li class=\"\"><span>&nbsp;&nbsp;&nbsp;&nbsp;<span class=\"keyword\">private<\/span><span>&nbsp;<\/span><span class=\"keyword\">static<\/span><span>&nbsp;SecretKey&nbsp;generateKey(String&nbsp;secretKey)&nbsp;&nbsp;<\/span><\/span><\/li><li class=\"alt\"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class=\"keyword\">throws<\/span><span>&nbsp;NoSuchAlgorithmException,&nbsp;InvalidKeyException,&nbsp;&nbsp;<\/span><\/span><\/li><li class=\"\"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;InvalidKeySpecException&nbsp;{&nbsp;&nbsp;<\/span><\/li><li class=\"alt\"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;SecretKeyFactory&nbsp;keyFactory&nbsp;=&nbsp;SecretKeyFactory&nbsp;&nbsp;<\/span><\/li><li class=\"\"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;.getInstance(DES_ALGORITHM);&nbsp;&nbsp;<\/span><\/li><li class=\"alt\"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;DESKeySpec&nbsp;keySpec&nbsp;=&nbsp;<span class=\"keyword\">new<\/span><span>&nbsp;DESKeySpec(secretKey.getBytes());&nbsp;&nbsp;<\/span><\/span><\/li><li class=\"\"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;keyFactory.generateSecret(keySpec);&nbsp;&nbsp;<\/span><\/li><li class=\"alt\"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class=\"keyword\">return<\/span><span>&nbsp;keyFactory.generateSecret(keySpec);&nbsp;&nbsp;<\/span><\/span><\/li><li class=\"\"><span>&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;&nbsp;<\/span><\/li><li class=\"alt\"><span>&nbsp;&nbsp;<\/span><\/li><li class=\"\"><span>&nbsp;&nbsp;&nbsp;&nbsp;<span class=\"comment\">\/**<\/span>&nbsp;<\/span><\/li><li class=\"alt\"><span><span class=\"comment\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;\u5224\u65ad\u5b57\u7b26\u4e32\u662f\u5426\u4e3a\u7a7a\uff0c\u96c6\u5408\u662f\u5426\u4e3a\u7a7a\uff0c\u6570\u7ec4\u662f\u5426\u4e3a\u7a7a&nbsp;\u8fd4\u56detrue\u4e3a\u7a7a<\/span>&nbsp;<\/span><\/li><li class=\"\"><span><span class=\"comment\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*\/<\/span><span>&nbsp;&nbsp;<\/span><\/span><\/li><li class=\"alt\"><span>&nbsp;&nbsp;&nbsp;&nbsp;<span class=\"annotation\">@SuppressWarnings<\/span><span>(<\/span><span class=\"string\">\"rawtypes\"<\/span><span>)&nbsp;&nbsp;<\/span><\/span><\/li><li class=\"\"><span>&nbsp;&nbsp;&nbsp;&nbsp;<span class=\"keyword\">public<\/span><span>&nbsp;<\/span><span class=\"keyword\">static<\/span><span>&nbsp;<\/span><span class=\"keyword\">boolean<\/span><span>&nbsp;isObjNull(Object&nbsp;obj)&nbsp;{&nbsp;&nbsp;<\/span><\/span><\/li><li class=\"alt\"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class=\"keyword\">if<\/span><span>&nbsp;(obj&nbsp;==&nbsp;<\/span><span class=\"keyword\">null<\/span><span>)&nbsp;&nbsp;<\/span><\/span><\/li><li class=\"\"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class=\"keyword\">return<\/span><span>&nbsp;<\/span><span class=\"keyword\">true<\/span><span>;&nbsp;&nbsp;<\/span><\/span><\/li><li class=\"alt\"><span>&nbsp;&nbsp;<\/span><\/li><li class=\"\"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class=\"keyword\">if<\/span><span>&nbsp;(obj&nbsp;<\/span><span class=\"keyword\">instanceof<\/span><span>&nbsp;CharSequence)&nbsp;&nbsp;<\/span><\/span><\/li><li class=\"alt\"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class=\"keyword\">return<\/span><span>&nbsp;((CharSequence)&nbsp;obj).length()&nbsp;==&nbsp;<\/span><span class=\"number\">0<\/span><span>;&nbsp;&nbsp;<\/span><\/span><\/li><li class=\"\"><span>&nbsp;&nbsp;<\/span><\/li><li class=\"alt\"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class=\"keyword\">if<\/span><span>&nbsp;(obj&nbsp;<\/span><span class=\"keyword\">instanceof<\/span><span>&nbsp;Collection)&nbsp;&nbsp;<\/span><\/span><\/li><li class=\"\"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class=\"keyword\">return<\/span><span>&nbsp;((Collection)&nbsp;obj).isEmpty();&nbsp;&nbsp;<\/span><\/span><\/li><li class=\"alt\"><span>&nbsp;&nbsp;<\/span><\/li><li class=\"\"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class=\"keyword\">if<\/span><span>&nbsp;(obj&nbsp;<\/span><span class=\"keyword\">instanceof<\/span><span>&nbsp;Map)&nbsp;&nbsp;<\/span><\/span><\/li><li class=\"alt\"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class=\"keyword\">return<\/span><span>&nbsp;((Map)&nbsp;obj).isEmpty();&nbsp;&nbsp;<\/span><\/span><\/li><li class=\"\"><span>&nbsp;&nbsp;<\/span><\/li><li class=\"alt\"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class=\"keyword\">if<\/span><span>&nbsp;(obj&nbsp;<\/span><span class=\"keyword\">instanceof<\/span><span>&nbsp;Object[])&nbsp;{&nbsp;&nbsp;<\/span><\/span><\/li><li class=\"\"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Object[]&nbsp;object&nbsp;=&nbsp;(Object[])&nbsp;obj;&nbsp;&nbsp;<\/span><\/li><li class=\"alt\"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class=\"keyword\">if<\/span><span>&nbsp;(object.length&nbsp;==&nbsp;<\/span><span class=\"number\">0<\/span><span>)&nbsp;{&nbsp;&nbsp;<\/span><\/span><\/li><li class=\"\"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class=\"keyword\">return<\/span><span>&nbsp;<\/span><span class=\"keyword\">true<\/span><span>;&nbsp;&nbsp;<\/span><\/span><\/li><li class=\"alt\"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;&nbsp;<\/span><\/li><li class=\"\"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class=\"keyword\">boolean<\/span><span>&nbsp;empty&nbsp;=&nbsp;<\/span><span class=\"keyword\">true<\/span><span>;&nbsp;&nbsp;<\/span><\/span><\/li><li class=\"alt\"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class=\"keyword\">for<\/span><span>&nbsp;(<\/span><span class=\"keyword\">int<\/span><span>&nbsp;i&nbsp;=&nbsp;<\/span><span class=\"number\">0<\/span><span>;&nbsp;i&nbsp;&lt;&nbsp;object.length;&nbsp;i++)&nbsp;{&nbsp;&nbsp;<\/span><\/span><\/li><li class=\"\"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class=\"keyword\">if<\/span><span>&nbsp;(!isObjNull(object[i]))&nbsp;{&nbsp;&nbsp;<\/span><\/span><\/li><li class=\"alt\"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;empty&nbsp;=&nbsp;<span class=\"keyword\">false<\/span><span>;&nbsp;&nbsp;<\/span><\/span><\/li><li class=\"\"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class=\"keyword\">break<\/span><span>;&nbsp;&nbsp;<\/span><\/span><\/li><li class=\"alt\"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;&nbsp;<\/span><\/li><li class=\"\"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;&nbsp;<\/span><\/li><li class=\"alt\"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class=\"keyword\">return<\/span><span>&nbsp;empty;&nbsp;&nbsp;<\/span><\/span><\/li><li class=\"\"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;&nbsp;<\/span><\/li><li class=\"alt\"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class=\"keyword\">return<\/span><span>&nbsp;<\/span><span class=\"keyword\">false<\/span><span>;&nbsp;&nbsp;<\/span><\/span><\/li><li class=\"\"><span>&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;&nbsp;<\/span><\/li><li class=\"alt\"><span>&nbsp;&nbsp;<\/span><\/li><li class=\"\"><span>&nbsp;&nbsp;&nbsp;&nbsp;<span class=\"keyword\">static<\/span><span>&nbsp;<\/span><span class=\"keyword\">class<\/span><span>&nbsp;Base64Utils&nbsp;{&nbsp;&nbsp;<\/span><\/span><\/li><li class=\"alt\"><span>&nbsp;&nbsp;<\/span><\/li><li class=\"\"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class=\"keyword\">static<\/span><span>&nbsp;<\/span><span class=\"keyword\">private<\/span><span>&nbsp;<\/span><span class=\"keyword\">char<\/span><span>[]&nbsp;alphabet&nbsp;=&nbsp;<\/span><span class=\"string\">\"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+\/=\"<\/span><span>&nbsp;&nbsp;<\/span><\/span><\/li><li class=\"alt\"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;.toCharArray();&nbsp;&nbsp;<\/span><\/li><li class=\"\"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class=\"keyword\">static<\/span><span>&nbsp;<\/span><span class=\"keyword\">private<\/span><span>&nbsp;<\/span><span class=\"keyword\">byte<\/span><span>[]&nbsp;codes&nbsp;=&nbsp;<\/span><span class=\"keyword\">new<\/span><span>&nbsp;<\/span><span class=\"keyword\">byte<\/span><span>[<\/span><span class=\"number\">256<\/span><span>];&nbsp;&nbsp;<\/span><\/span><\/li><li class=\"alt\"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class=\"keyword\">static<\/span><span>&nbsp;{&nbsp;&nbsp;<\/span><\/span><\/li><li class=\"\"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class=\"keyword\">for<\/span><span>&nbsp;(<\/span><span class=\"keyword\">int<\/span><span>&nbsp;i&nbsp;=&nbsp;<\/span><span class=\"number\">0<\/span><span>;&nbsp;i&nbsp;&lt;&nbsp;<\/span><span class=\"number\">256<\/span><span>;&nbsp;i++)&nbsp;&nbsp;<\/span><\/span><\/li><li class=\"alt\"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;codes[i]&nbsp;=&nbsp;-<span class=\"number\">1<\/span><span>;&nbsp;&nbsp;<\/span><\/span><\/li><li class=\"\"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class=\"keyword\">for<\/span><span>&nbsp;(<\/span><span class=\"keyword\">int<\/span><span>&nbsp;i&nbsp;=&nbsp;'A';&nbsp;i&nbsp;&lt;=&nbsp;'Z';&nbsp;i++)&nbsp;&nbsp;<\/span><\/span><\/li><li class=\"alt\"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;codes[i]&nbsp;=&nbsp;(<span class=\"keyword\">byte<\/span><span>)&nbsp;(i&nbsp;-&nbsp;'A');&nbsp;&nbsp;<\/span><\/span><\/li><li class=\"\"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class=\"keyword\">for<\/span><span>&nbsp;(<\/span><span class=\"keyword\">int<\/span><span>&nbsp;i&nbsp;=&nbsp;'a';&nbsp;i&nbsp;&lt;=&nbsp;'z';&nbsp;i++)&nbsp;&nbsp;<\/span><\/span><\/li><li class=\"alt\"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;codes[i]&nbsp;=&nbsp;(<span class=\"keyword\">byte<\/span><span>)&nbsp;(<\/span><span class=\"number\">26<\/span><span>&nbsp;+&nbsp;i&nbsp;-&nbsp;'a');&nbsp;&nbsp;<\/span><\/span><\/li><li class=\"\"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class=\"keyword\">for<\/span><span>&nbsp;(<\/span><span class=\"keyword\">int<\/span><span>&nbsp;i&nbsp;=&nbsp;'<\/span><span class=\"number\">0<\/span><span>';&nbsp;i&nbsp;&lt;=&nbsp;'<\/span><span class=\"number\">9<\/span><span>';&nbsp;i++)&nbsp;&nbsp;<\/span><\/span><\/li><li class=\"alt\"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;codes[i]&nbsp;=&nbsp;(<span class=\"keyword\">byte<\/span><span>)&nbsp;(<\/span><span class=\"number\">52<\/span><span>&nbsp;+&nbsp;i&nbsp;-&nbsp;'<\/span><span class=\"number\">0<\/span><span>');&nbsp;&nbsp;<\/span><\/span><\/li><li class=\"\"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;codes['+']&nbsp;=&nbsp;<span class=\"number\">62<\/span><span>;&nbsp;&nbsp;<\/span><\/span><\/li><li class=\"alt\"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;codes['\/']&nbsp;=&nbsp;<span class=\"number\">63<\/span><span>;&nbsp;&nbsp;<\/span><\/span><\/li><li class=\"\"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;&nbsp;<\/span><\/li><li class=\"alt\"><span>&nbsp;&nbsp;<\/span><\/li><li class=\"\"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class=\"comment\">\/**<\/span>&nbsp;<\/span><\/li><li class=\"alt\"><span><span class=\"comment\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;\u5c06\u539f\u59cb\u6570\u636e\u7f16\u7801\u4e3abase64\u7f16\u7801<\/span>&nbsp;<\/span><\/li><li class=\"\"><span><span class=\"comment\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*\/<\/span><span>&nbsp;&nbsp;<\/span><\/span><\/li><li class=\"alt\"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class=\"keyword\">static<\/span><span>&nbsp;<\/span><span class=\"keyword\">public<\/span><span>&nbsp;String&nbsp;encode(<\/span><span class=\"keyword\">byte<\/span><span>[]&nbsp;data)&nbsp;{&nbsp;&nbsp;<\/span><\/span><\/li><li class=\"\"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class=\"keyword\">char<\/span><span>[]&nbsp;out&nbsp;=&nbsp;<\/span><span class=\"keyword\">new<\/span><span>&nbsp;<\/span><span class=\"keyword\">char<\/span><span>[((data.length&nbsp;+&nbsp;<\/span><span class=\"number\">2<\/span><span>)&nbsp;\/&nbsp;<\/span><span class=\"number\">3<\/span><span>)&nbsp;*&nbsp;<\/span><span class=\"number\">4<\/span><span>];&nbsp;&nbsp;<\/span><\/span><\/li><li class=\"alt\"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class=\"keyword\">for<\/span><span>&nbsp;(<\/span><span class=\"keyword\">int<\/span><span>&nbsp;i&nbsp;=&nbsp;<\/span><span class=\"number\">0<\/span><span>,&nbsp;index&nbsp;=&nbsp;<\/span><span class=\"number\">0<\/span><span>;&nbsp;i&nbsp;&lt;&nbsp;data.length;&nbsp;i&nbsp;+=&nbsp;<\/span><span class=\"number\">3<\/span><span>,&nbsp;index&nbsp;+=&nbsp;<\/span><span class=\"number\">4<\/span><span>)&nbsp;{&nbsp;&nbsp;<\/span><\/span><\/li><li class=\"\"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class=\"keyword\">boolean<\/span><span>&nbsp;quad&nbsp;=&nbsp;<\/span><span class=\"keyword\">false<\/span><span>;&nbsp;&nbsp;<\/span><\/span><\/li><li class=\"alt\"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class=\"keyword\">boolean<\/span><span>&nbsp;trip&nbsp;=&nbsp;<\/span><span class=\"keyword\">false<\/span><span>;&nbsp;&nbsp;<\/span><\/span><\/li><li class=\"\"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class=\"keyword\">int<\/span><span>&nbsp;val&nbsp;=&nbsp;(<\/span><span class=\"number\">0xFF<\/span><span>&nbsp;&amp;&nbsp;(<\/span><span class=\"keyword\">int<\/span><span>)&nbsp;data[i]);&nbsp;&nbsp;<\/span><\/span><\/li><li class=\"alt\"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;val&nbsp;&lt;&lt;=&nbsp;<span class=\"number\">8<\/span><span>;&nbsp;&nbsp;<\/span><\/span><\/li><li class=\"\"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class=\"keyword\">if<\/span><span>&nbsp;((i&nbsp;+&nbsp;<\/span><span class=\"number\">1<\/span><span>)&nbsp;&lt;&nbsp;data.length)&nbsp;{&nbsp;&nbsp;<\/span><\/span><\/li><li class=\"alt\"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;val&nbsp;|=&nbsp;(<span class=\"number\">0xFF<\/span><span>&nbsp;&amp;&nbsp;(<\/span><span class=\"keyword\">int<\/span><span>)&nbsp;data[i&nbsp;+&nbsp;<\/span><span class=\"number\">1<\/span><span>]);&nbsp;&nbsp;<\/span><\/span><\/li><li class=\"\"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;trip&nbsp;=&nbsp;<span class=\"keyword\">true<\/span><span>;&nbsp;&nbsp;<\/span><\/span><\/li><li class=\"alt\"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;&nbsp;<\/span><\/li><li class=\"\"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;val&nbsp;&lt;&lt;=&nbsp;<span class=\"number\">8<\/span><span>;&nbsp;&nbsp;<\/span><\/span><\/li><li class=\"alt\"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class=\"keyword\">if<\/span><span>&nbsp;((i&nbsp;+&nbsp;<\/span><span class=\"number\">2<\/span><span>)&nbsp;&lt;&nbsp;data.length)&nbsp;{&nbsp;&nbsp;<\/span><\/span><\/li><li class=\"\"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;val&nbsp;|=&nbsp;(<span class=\"number\">0xFF<\/span><span>&nbsp;&amp;&nbsp;(<\/span><span class=\"keyword\">int<\/span><span>)&nbsp;data[i&nbsp;+&nbsp;<\/span><span class=\"number\">2<\/span><span>]);&nbsp;&nbsp;<\/span><\/span><\/li><li class=\"alt\"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;quad&nbsp;=&nbsp;<span class=\"keyword\">true<\/span><span>;&nbsp;&nbsp;<\/span><\/span><\/li><li class=\"\"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;&nbsp;<\/span><\/li><li class=\"alt\"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;out[index&nbsp;+&nbsp;<span class=\"number\">3<\/span><span>]&nbsp;=&nbsp;alphabet[(quad&nbsp;?&nbsp;(val&nbsp;&amp;&nbsp;<\/span><span class=\"number\">0x3F<\/span><span>)&nbsp;:&nbsp;<\/span><span class=\"number\">64<\/span><span>)];&nbsp;&nbsp;<\/span><\/span><\/li><li class=\"\"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;val&nbsp;&gt;&gt;=&nbsp;<span class=\"number\">6<\/span><span>;&nbsp;&nbsp;<\/span><\/span><\/li><li class=\"alt\"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;out[index&nbsp;+&nbsp;<span class=\"number\">2<\/span><span>]&nbsp;=&nbsp;alphabet[(trip&nbsp;?&nbsp;(val&nbsp;&amp;&nbsp;<\/span><span class=\"number\">0x3F<\/span><span>)&nbsp;:&nbsp;<\/span><span class=\"number\">64<\/span><span>)];&nbsp;&nbsp;<\/span><\/span><\/li><li class=\"\"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;val&nbsp;&gt;&gt;=&nbsp;<span class=\"number\">6<\/span><span>;&nbsp;&nbsp;<\/span><\/span><\/li><li class=\"alt\"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;out[index&nbsp;+&nbsp;<span class=\"number\">1<\/span><span>]&nbsp;=&nbsp;alphabet[val&nbsp;&amp;&nbsp;<\/span><span class=\"number\">0x3F<\/span><span>];&nbsp;&nbsp;<\/span><\/span><\/li><li class=\"\"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;val&nbsp;&gt;&gt;=&nbsp;<span class=\"number\">6<\/span><span>;&nbsp;&nbsp;<\/span><\/span><\/li><li class=\"alt\"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;out[index&nbsp;+&nbsp;<span class=\"number\">0<\/span><span>]&nbsp;=&nbsp;alphabet[val&nbsp;&amp;&nbsp;<\/span><span class=\"number\">0x3F<\/span><span>];&nbsp;&nbsp;<\/span><\/span><\/li><li class=\"\"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;&nbsp;<\/span><\/li><li class=\"alt\"><span>&nbsp;&nbsp;<\/span><\/li><li class=\"\"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class=\"keyword\">return<\/span><span>&nbsp;<\/span><span class=\"keyword\">new<\/span><span>&nbsp;String(out);&nbsp;&nbsp;<\/span><\/span><\/li><li class=\"alt\"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;&nbsp;<\/span><\/li><li class=\"\"><span>&nbsp;&nbsp;<\/span><\/li><li class=\"alt\"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class=\"comment\">\/**<\/span>&nbsp;<\/span><\/li><li class=\"\"><span><span class=\"comment\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;\u5c06base64\u7f16\u7801\u7684\u6570\u636e\u89e3\u7801\u6210\u539f\u59cb\u6570\u636e<\/span>&nbsp;<\/span><\/li><li class=\"alt\"><span><span class=\"comment\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*\/<\/span><span>&nbsp;&nbsp;<\/span><\/span><\/li><li class=\"\"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class=\"keyword\">static<\/span><span>&nbsp;<\/span><span class=\"keyword\">public<\/span><span>&nbsp;<\/span><span class=\"keyword\">byte<\/span><span>[]&nbsp;decode(<\/span><span class=\"keyword\">char<\/span><span>[]&nbsp;data)&nbsp;{&nbsp;&nbsp;<\/span><\/span><\/li><li class=\"alt\"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class=\"keyword\">int<\/span><span>&nbsp;len&nbsp;=&nbsp;((data.length&nbsp;+&nbsp;<\/span><span class=\"number\">3<\/span><span>)&nbsp;\/&nbsp;<\/span><span class=\"number\">4<\/span><span>)&nbsp;*&nbsp;<\/span><span class=\"number\">3<\/span><span>;&nbsp;&nbsp;<\/span><\/span><\/li><li class=\"\"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class=\"keyword\">if<\/span><span>&nbsp;(data.length&nbsp;&gt;&nbsp;<\/span><span class=\"number\">0<\/span><span>&nbsp;&amp;&amp;&nbsp;data[data.length&nbsp;-&nbsp;<\/span><span class=\"number\">1<\/span><span>]&nbsp;==&nbsp;'=')&nbsp;&nbsp;<\/span><\/span><\/li><li class=\"alt\"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;--len;&nbsp;&nbsp;<\/span><\/li><li class=\"\"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class=\"keyword\">if<\/span><span>&nbsp;(data.length&nbsp;&gt;&nbsp;<\/span><span class=\"number\">1<\/span><span>&nbsp;&amp;&amp;&nbsp;data[data.length&nbsp;-&nbsp;<\/span><span class=\"number\">2<\/span><span>]&nbsp;==&nbsp;'=')&nbsp;&nbsp;<\/span><\/span><\/li><li class=\"alt\"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;--len;&nbsp;&nbsp;<\/span><\/li><li class=\"\"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class=\"keyword\">byte<\/span><span>[]&nbsp;out&nbsp;=&nbsp;<\/span><span class=\"keyword\">new<\/span><span>&nbsp;<\/span><span class=\"keyword\">byte<\/span><span>[len];&nbsp;&nbsp;<\/span><\/span><\/li><li class=\"alt\"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class=\"keyword\">int<\/span><span>&nbsp;shift&nbsp;=&nbsp;<\/span><span class=\"number\">0<\/span><span>;&nbsp;&nbsp;<\/span><\/span><\/li><li class=\"\"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class=\"keyword\">int<\/span><span>&nbsp;accum&nbsp;=&nbsp;<\/span><span class=\"number\">0<\/span><span>;&nbsp;&nbsp;<\/span><\/span><\/li><li class=\"alt\"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class=\"keyword\">int<\/span><span>&nbsp;index&nbsp;=&nbsp;<\/span><span class=\"number\">0<\/span><span>;&nbsp;&nbsp;<\/span><\/span><\/li><li class=\"\"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class=\"keyword\">for<\/span><span>&nbsp;(<\/span><span class=\"keyword\">int<\/span><span>&nbsp;ix&nbsp;=&nbsp;<\/span><span class=\"number\">0<\/span><span>;&nbsp;ix&nbsp;&lt;&nbsp;data.length;&nbsp;ix++)&nbsp;{&nbsp;&nbsp;<\/span><\/span><\/li><li class=\"alt\"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class=\"keyword\">int<\/span><span>&nbsp;value&nbsp;=&nbsp;codes[data[ix]&nbsp;&amp;&nbsp;<\/span><span class=\"number\">0xFF<\/span><span>];&nbsp;&nbsp;<\/span><\/span><\/li><li class=\"\"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class=\"keyword\">if<\/span><span>&nbsp;(value&nbsp;&gt;=&nbsp;<\/span><span class=\"number\">0<\/span><span>)&nbsp;{&nbsp;&nbsp;<\/span><\/span><\/li><li class=\"alt\"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;accum&nbsp;&lt;&lt;=&nbsp;<span class=\"number\">6<\/span><span>;&nbsp;&nbsp;<\/span><\/span><\/li><li class=\"\"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;shift&nbsp;+=&nbsp;<span class=\"number\">6<\/span><span>;&nbsp;&nbsp;<\/span><\/span><\/li><li class=\"alt\"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;accum&nbsp;|=&nbsp;value;&nbsp;&nbsp;<\/span><\/li><li class=\"\"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class=\"keyword\">if<\/span><span>&nbsp;(shift&nbsp;&gt;=&nbsp;<\/span><span class=\"number\">8<\/span><span>)&nbsp;{&nbsp;&nbsp;<\/span><\/span><\/li><li class=\"alt\"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;shift&nbsp;-=&nbsp;<span class=\"number\">8<\/span><span>;&nbsp;&nbsp;<\/span><\/span><\/li><li class=\"\"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;out[index++]&nbsp;=&nbsp;(<span class=\"keyword\">byte<\/span><span>)&nbsp;((accum&nbsp;&gt;&gt;&nbsp;shift)&nbsp;&amp;&nbsp;<\/span><span class=\"number\">0xff<\/span><span>);&nbsp;&nbsp;<\/span><\/span><\/li><li class=\"alt\"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;&nbsp;<\/span><\/li><li class=\"\"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;&nbsp;<\/span><\/li><li class=\"alt\"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;&nbsp;<\/span><\/li><li class=\"\"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class=\"keyword\">if<\/span><span>&nbsp;(index&nbsp;!=&nbsp;out.length)&nbsp;&nbsp;<\/span><\/span><\/li><li class=\"alt\"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class=\"keyword\">throw<\/span><span>&nbsp;<\/span><span class=\"keyword\">new<\/span><span>&nbsp;Error(<\/span><span class=\"string\">\"miscalculated&nbsp;data&nbsp;length!\"<\/span><span>);&nbsp;&nbsp;<\/span><\/span><\/li><li class=\"\"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class=\"keyword\">return<\/span><span>&nbsp;out;&nbsp;&nbsp;<\/span><\/span><\/li><li class=\"alt\"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;&nbsp;<\/span><\/li><li class=\"\"><span>&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;&nbsp;<\/span><\/li><li class=\"alt\"><span>&nbsp;&nbsp;<\/span><\/li><li class=\"\"><span>}&nbsp;&nbsp;<\/span><\/li><\/ol><\/div>\n\n\n\n<h3 class=\"wp-block-heading\">\u7b2c\u4e8c\u6b65\uff1a\u6d4b\u8bd5\u52a0\u5bc6\u65b9\u6cd5\u6b63\u786e\u6027<\/h3>\n\n\n\n<p>\u4f7f\u7528\u5de5\u5177\u7c7b\u4e2d\u7684\u52a0\u5bc6\u89e3\u5bc6\u65b9\u6cd5\uff0c\u6d4b\u8bd5\u52a0\u5bc6\u540e\u7684\u5bc6\u4e32\uff0c\u80fd\u5426\u88ab\u89e3\u5bc6\u51fd\u6570\u6b63\u5e38\u89e3\u6790\u3002<\/p>\n\n\n\n<div class=\"dp-highlighter\"><div class=\"bar\"><\/div><ol start=\"1\" class=\"dp-j\"><li class=\"alt\"><span><span class=\"keyword\">package<\/span><span>&nbsp;cn.menglanglang.test.springboot;&nbsp;&nbsp;<\/span><\/span><\/li><li class=\"\"><span>&nbsp;&nbsp;<\/span><\/li><li class=\"alt\"><span><span class=\"keyword\">import<\/span><span>&nbsp;cn.menglanglang.test.springboot.util.EADcryptUtil;&nbsp;&nbsp;<\/span><\/span><\/li><li class=\"\"><span><span class=\"keyword\">import<\/span><span>&nbsp;org.junit.Test;&nbsp;&nbsp;<\/span><\/span><\/li><li class=\"alt\"><span>&nbsp;&nbsp;<\/span><\/li><li class=\"\"><span><span class=\"comment\">\/**<\/span>&nbsp;<\/span><\/li><li class=\"alt\"><span><span class=\"comment\">&nbsp;*&nbsp;@author&nbsp;\u5b5f\u90ce\u90ce<\/span>&nbsp;<\/span><\/li><li class=\"\"><span><span class=\"comment\">&nbsp;*&nbsp;@version&nbsp;1.0<\/span>&nbsp;<\/span><\/li><li class=\"alt\"><span><span class=\"comment\">&nbsp;*&nbsp;@desc<\/span>&nbsp;<\/span><\/li><li class=\"\"><span><span class=\"comment\">&nbsp;*&nbsp;@blog&nbsp;http:\/\/www.menglanglang.cn<\/span>&nbsp;<\/span><\/li><li class=\"alt\"><span><span class=\"comment\">&nbsp;*&nbsp;@date&nbsp;2020\/6\/17&nbsp;22:45<\/span>&nbsp;<\/span><\/li><li class=\"\"><span><span class=\"comment\">&nbsp;*\/<\/span><span>&nbsp;&nbsp;<\/span><\/span><\/li><li class=\"alt\"><span><span class=\"keyword\">public<\/span><span>&nbsp;<\/span><span class=\"keyword\">class<\/span><span>&nbsp;TestMethod&nbsp;{&nbsp;&nbsp;<\/span><\/span><\/li><li class=\"\"><span>&nbsp;&nbsp;<\/span><\/li><li class=\"alt\"><span>&nbsp;&nbsp;&nbsp;&nbsp;<span class=\"annotation\">@Test<\/span><span>&nbsp;&nbsp;<\/span><\/span><\/li><li class=\"\"><span>&nbsp;&nbsp;&nbsp;&nbsp;<span class=\"keyword\">public<\/span><span>&nbsp;<\/span><span class=\"keyword\">void<\/span><span>&nbsp;test()&nbsp;{&nbsp;&nbsp;<\/span><\/span><\/li><li class=\"alt\"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;System.out.println(<span class=\"string\">\"123456\u52a0\u5bc6\u540e\u5bc6\u7801\u4e32\u4e3a\uff1a\"<\/span><span>&nbsp;+&nbsp;EADcryptUtil.encryptDES(<\/span><span class=\"string\">\"123456\"<\/span><span>));&nbsp;&nbsp;<\/span><\/span><\/li><li class=\"\"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;System.out.println(<span class=\"string\">\"123456\u89e3\u5bc6\u540e\u5bc6\u7801\u4e32\u4e3a\uff1a\"<\/span><span>&nbsp;+&nbsp;EADcryptUtil.decryptDES(<\/span><span class=\"string\">\"QscA0onvWKA=\"<\/span><span>));&nbsp;&nbsp;<\/span><\/span><\/li><li class=\"alt\"><span>&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;&nbsp;<\/span><\/li><li class=\"\"><span>&nbsp;&nbsp;<\/span><\/li><li class=\"alt\"><span>}&nbsp;&nbsp;<\/span><\/li><\/ol><\/div>\n\n\n\n<p>\u8f93\u51fa\u7ed3\u679c\u4e3a\uff1a<\/p>\n\n\n\n<p><img loading=\"lazy\" decoding=\"async\" height=\"141\" width=\"409\" alt=\"\" src=\"\/\/images.weserv.nl\/?url=https:\/\/img-blog.csdnimg.cn\/20200705195534225.png\"\/><\/p>\n\n\n\n<h3 class=\"wp-block-heading\">\u7b2c\u4e09\u6b65\uff1a\u4fee\u6539\u539f\u660e\u6587\u5bc6\u7801\u914d\u7f6e<\/h3>\n\n\n\n<p>\u7528\u6d4b\u8bd5\u65f6\u5f97\u5230\u7684\u52a0\u5bc6\u4e32\uff0c\u66ff\u6362\u539f\u660e\u6587\u5bc6\u7801\uff0c\u5982\u4e0b\u56fe\u6240\u793a\u3002<\/p>\n\n\n\n<p><img loading=\"lazy\" decoding=\"async\" height=\"512\" width=\"900\" alt=\"\" src=\"\/\/images.weserv.nl\/?url=https:\/\/img-blog.csdnimg.cn\/20200705195742585.png?x-oss-process=image\/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3R6aHV3Yg==,size_16,color_FFFFFF,t_70\"\/><\/p>\n\n\n\n<p>\u66ff\u6362\u4e3a\u5982\u4e0b\u56fe\u6240\u793a\uff0c\u6ce8\u610f\u5728\u5b9e\u9645\u5f00\u53d1\u4e2d\uff0c\u628a\u914d\u7f6e\u6587\u4ef6\u4e2d\u7684\u660e\u6587\u5bc6\u7801\u90e8\u5206\u5220\u9664\u6389\uff0c\u4e0d\u7136\u52a0\u5bc6\u767d\u505a\u4e86\uff01\uff01\uff01<\/p>\n\n\n\n<p><img loading=\"lazy\" decoding=\"async\" height=\"557\" width=\"900\" alt=\"\" src=\"\/\/images.weserv.nl\/?url=https:\/\/img-blog.csdnimg.cn\/20200705200403987.png?x-oss-process=image\/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3R6aHV3Yg==,size_16,color_FFFFFF,t_70\"\/><\/p>\n\n\n\n<h3 class=\"wp-block-heading\">\u7b2c\u56db\u6b65\uff1a\u4fee\u6539\u5bc6\u7801\u8bbe\u503c\u90e8\u5206<\/h3>\n\n\n\n<p>\u5728\u4e0a\u4e00\u7bc7\u914d\u7f6e\u591a\u6570\u636e\u6e90\u7684\u6587\u7ae0\u4e2d\uff0c\u63d0\u5230\u4e86\u914d\u7f6e\u591a\u6570\u636e\u6e90\u7684\u7c7b FirstDataSourceConfig \u548c SecondDataSourceConfig\uff0c\u5206\u522b\u4fee\u6539\u7c7b\u4e2d\u5bc6\u7801\u90e8\u5206\u5982\u4e0b\uff1a<\/p>\n\n\n\n<p><img loading=\"lazy\" decoding=\"async\" height=\"283\" width=\"900\" alt=\"\" src=\"\/\/images.weserv.nl\/?url=https:\/\/img-blog.csdnimg.cn\/20200705205849414.png?x-oss-process=image\/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3R6aHV3Yg==,size_16,color_FFFFFF,t_70\"\/><\/p>\n\n\n\n<p><img loading=\"lazy\" decoding=\"async\" height=\"267\" width=\"900\" alt=\"\" src=\"\/\/images.weserv.nl\/?url=https:\/\/img-blog.csdnimg.cn\/20200705205938359.png?x-oss-process=image\/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3R6aHV3Yg==,size_16,color_FFFFFF,t_70\"\/><\/p>\n\n\n\n<h3 class=\"wp-block-heading\">\u7b2c\u4e94\u6b65\uff1a\u542f\u52a8\u9879\u76ee\u6d4b\u8bd5<\/h3>\n\n\n\n<p>\u91cd\u65b0\u542f\u52a8\u9879\u76ee\uff0c\u6d4b\u8bd5\u662f\u5426\u80fd\u591f\u8fde\u4e0a\u6570\u636e\u5e93\uff0c\u9875\u9762\u67e5\u8be2\u6570\u636e\u662f\u5426\u6b63\u5e38\u3002<\/p>\n\n\n\n<p><img loading=\"lazy\" decoding=\"async\" height=\"137\" width=\"793\" alt=\"\" src=\"\/\/images.weserv.nl\/?url=https:\/\/img-blog.csdnimg.cn\/20200705210049560.png\"\/><\/p>\n\n\n\n<p><img loading=\"lazy\" decoding=\"async\" height=\"131\" width=\"649\" alt=\"\" src=\"\/\/images.weserv.nl\/?url=https:\/\/img-blog.csdnimg.cn\/2020070521024393.png\"\/><\/p>\n\n\n\n<p>\u5230\u6b64\uff0c\u901a\u8fc7\u81ea\u5b9a\u4e49\u7b97\u6cd5\u52a0\u5bc6\u6570\u636e\u5e93\u5bc6\u7801\u5927\u529f\u544a\u6210\u3002<\/p>\n\n\n\n<p>\u539f\u6587\u94fe\u63a5\uff1a<a href=\"https:\/\/blog.csdn.net\/tzhuwb\/article\/details\/106818510\" target=\"_blank\" rel=\"noreferrer noopener\">https:\/\/blog.csdn.net\/tzhuwb\/article\/details\/106818510<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>\u968f\u7740\u4fe1\u606f\u5b89\u5168\u9632\u62a4\u63aa\u65bd\u7684\u63d0\u5347\uff0c\u8d8a\u6765\u8d8a\u591a\u7684\u9879\u76ee\u8981\u6c42\u9879\u76ee\u4e2d\u7684\u5bc6\u7801\u4e0d\u80fd\u6709\u660e\u6587\uff0c\u90fd\u9700\u8981\u52a0\u5bc6\uff0c\u914d\u7f6e\u6587\u4ef6\u4e2d\u76f8\u5173\u7684\u5bc6\u7801\u4e5f\u4e0d\u4f8b\u5916 [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[707],"tags":[650,708,801,773,183,332],"class_list":["post-4726","post","type-post","status-publish","format-standard","hentry","category-springboot","tag-spring","tag-springboot","tag-801","tag-773","tag-183","tag-332"],"_links":{"self":[{"href":"http:\/\/www.menglanglang.cn\/index.php?rest_route=\/wp\/v2\/posts\/4726","targetHints":{"allow":["GET"]}}],"collection":[{"href":"http:\/\/www.menglanglang.cn\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/www.menglanglang.cn\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/www.menglanglang.cn\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/www.menglanglang.cn\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=4726"}],"version-history":[{"count":5,"href":"http:\/\/www.menglanglang.cn\/index.php?rest_route=\/wp\/v2\/posts\/4726\/revisions"}],"predecessor-version":[{"id":4731,"href":"http:\/\/www.menglanglang.cn\/index.php?rest_route=\/wp\/v2\/posts\/4726\/revisions\/4731"}],"wp:attachment":[{"href":"http:\/\/www.menglanglang.cn\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=4726"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/www.menglanglang.cn\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=4726"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/www.menglanglang.cn\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=4726"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}