<div id="cnblogs\_post\_body" class="blogpost-body"><h3>加密代码</h3> <p> </p> <div class="cnblogs\_Highlighter sh-gutter"> <div><div id="highlighter\_969460" class="syntaxhighlighter java"><div class="toolbar"><span><a href="#" class="toolbar\_item command\_expandSource expandSource">+ View Code</a></span><span><a href="#" class="toolbar\_item command\_help help">?</a></span></div><table border="0" cellpadding="0" cellspacing="0"><tbody><tr><td class="gutter"><div class="line number1 index0 alt2">1</div><div class="line number2 index1 alt1">2</div><div class="line number3 index2 alt2">3</div><div class="line number4 index3 alt1">4</div><div class="line number5 index4 alt2">5</div><div class="line number6 index5 alt1">6</div><div class="line number7 index6 alt2">7</div><div class="line number8 index7 alt1">8</div><div class="line number9 index8 alt2">9</div><div class="line number10 index9 alt1">10</div><div class="line number11 index10 alt2">11</div><div class="line number12 index11 alt1">12</div><div class="line number13 index12 alt2">13</div><div class="line number14 index13 alt1">14</div><div class="line number15 index14 alt2">15</div><div class="line number16 index15 alt1">16</div><div class="line number17 index16 alt2">17</div><div class="line number18 index17 alt1">18</div><div class="line number19 index18 alt2">19</div><div class="line number20 index19 alt1">20</div><div class="line number21 index20 alt2">21</div><div class="line number22 index21 alt1">22</div><div class="line number23 index22 alt2">23</div><div class="line number24 index23 alt1">24</div><div class="line number25 index24 alt2">25</div><div class="line number26 index25 alt1">26</div><div class="line number27 index26 alt2">27</div><div class="line number28 index27 alt1">28</div><div class="line number29 index28 alt2">29</div></td><td class="code"><div class="container"><div class="line number1 index0 alt2"><code class="java preprocessor">/\*\*解密</code></div><div class="line number2 index1 alt1"><code class="java spaces"> </code><code class="java preprocessor">\* @param content 待解密内容</code></div><div class="line number3 index2 alt2"><code class="java spaces"> </code><code class="java preprocessor">\* @param password 解密密钥</code></div><div class="line number4 index3 alt1"><code class="java spaces"> </code><code class="java preprocessor">\* @return</code></div><div class="line number5 index4 alt2"><code class="java spaces"> </code><code class="java preprocessor">\*/</code></div><div class="line number6 index5 alt1"><code class="java keyword">public</code> <code class="java keyword">static</code> <code class="java keyword">byte</code><code class="java plain">\[\] decrypt(</code><code class="java keyword">byte</code><code class="java plain">\[\] content, String password) {</code></div><div class="line number7 index6 alt2"><code class="java spaces"> </code><code class="java keyword">try</code> <code class="java plain">{</code></div><div class="line number8 index7 alt1"><code class="java spaces"> </code><code class="java plain">KeyGenerator kgen = KeyGenerator.getInstance(</code><code class="java string">"AES"</code><code class="java plain">);</code></div><div class="line number9 index8 alt2"><code class="java spaces"> </code><code class="java plain">kgen.init(</code><code class="java value">128</code><code class="java plain">, </code><code class="java keyword">new</code> <code class="java plain">SecureRandom(password.getBytes()));</code></div><div class="line number10 index9 alt1"><code class="java spaces"> </code><code class="java plain">SecretKey secretKey = kgen.generateKey();</code></div><div class="line number11 index10 alt2"><code class="java spaces"> </code><code class="java keyword">byte</code><code class="java plain">\[\] enCodeFormat = secretKey.getEncoded();</code></div><div class="line number12 index11 alt1"><code class="java spaces"> </code><code class="java plain">SecretKeySpec key = </code><code class="java keyword">new</code> <code class="java plain">SecretKeySpec(enCodeFormat, </code><code class="java string">"AES"</code><code class="java plain">); </code></div><div class="line number13 index12 alt2"><code class="java spaces"> </code><code class="java plain">Cipher cipher = Cipher.getInstance(</code><code class="java string">"AES"</code><code class="java plain">);</code><code class="java comments">// 创建密码器</code></div><div class="line number14 index13 alt1"><code class="java spaces"> </code><code class="java plain">cipher.init(Cipher.DECRYPT\_MODE, key);</code><code class="java comments">// 初始化</code></div><div class="line number15 index14 alt2"><code class="java spaces"> </code><code class="java keyword">byte</code><code class="java plain">\[\] result = cipher.doFinal(content);</code></div><div class="line number16 index15 alt1"><code class="java spaces"> </code><code class="java keyword">return</code> <code class="java plain">result; </code><code class="java comments">// 加密</code></div><div class="line number17 index16 alt2"><code class="java spaces"> </code><code class="java plain">} </code><code class="java keyword">catch</code> <code class="java plain">(NoSuchAlgorithmException e) {</code></div><div class="line number18 index17 alt1"><code class="java spaces"> </code><code class="java plain">e.printStackTrace();</code></div><div class="line number19 index18 alt2"><code class="java spaces"> </code><code class="java plain">} </code><code class="java keyword">catch</code> <code class="java plain">(NoSuchPaddingException e) {</code></div><div class="line number20 index19 alt1"><code class="java spaces"> </code><code class="java plain">e.printStackTrace();</code></div><div class="line number21 index20 alt2"><code class="java spaces"> </code><code class="java plain">} </code><code class="java keyword">catch</code> <code class="java plain">(InvalidKeyException e) {</code></div><div class="line number22 index21 alt1"><code class="java spaces"> </code><code class="java plain">e.printStackTrace();</code></div><div class="line number23 index22 alt2"><code class="java spaces"> </code><code class="java plain">} </code><code class="java keyword">catch</code> <code class="java plain">(IllegalBlockSizeException e) {</code></div><div class="line number24 index23 alt1"><code class="java spaces"> </code><code class="java plain">e.printStackTrace();</code></div><div class="line number25 index24 alt2"><code class="java spaces"> </code><code class="java plain">} </code><code class="java keyword">catch</code> <code class="java plain">(BadPaddingException e) {</code></div><div class="line number26 index25 alt1"><code class="java spaces"> </code><code class="java plain">e.printStackTrace();</code></div><div class="line number27 index26 alt2"><code class="java spaces"> </code><code class="java plain">}</code></div><div class="line number28 index27 alt1"><code class="java spaces"> </code><code class="java keyword">return</code> <code class="java keyword">null</code><code class="java plain">;</code></div><div class="line number29 index28 alt2"><code class="java plain">}</code></div></div></td></tr></tbody></table></div></div> </div> <p> </p> <p> </p> <h3>解密代码</h3> <div class="cnblogs\_Highlighter sh-gutter"> <div><div id="highlighter\_470006" class="syntaxhighlighter java"><div class="toolbar"><span><a href="#" class="toolbar\_item command\_expandSource expandSource">+ View Code</a></span><span><a href="#" class="toolbar\_item command\_help help">?</a></span></div><table border="0" cellpadding="0" cellspacing="0"><tbody><tr><td class="gutter"><div class="line number1 index0 alt2">1</div><div class="line number2 index1 alt1">2</div><div class="line number3 index2 alt2">3</div><div class="line number4 index3 alt1">4</div><div class="line number5 index4 alt2">5</div><div class="line number6 index5 alt1">6</div><div class="line number7 index6 alt2">7</div><div class="line number8 index7 alt1">8</div><div class="line number9 index8 alt2">9</div><div class="line number10 index9 alt1">10</div><div class="line number11 index10 alt2">11</div><div class="line number12 index11 alt1">12</div><div class="line number13 index12 alt2">13</div><div class="line number14 index13 alt1">14</div><div class="line number15 index14 alt2">15</div><div class="line number16 index15 alt1">16</div><div class="line number17 index16 alt2">17</div><div class="line number18 index17 alt1">18</div><div class="line number19 index18 alt2">19</div><div class="line number20 index19 alt1">20</div><div class="line number21 index20 alt2">21</div><div class="line number22 index21 alt1">22</div><div class="line number23 index22 alt2">23</div><div class="line number24 index23 alt1">24</div><div class="line number25 index24 alt2">25</div><div class="line number26 index25 alt1">26</div><div class="line number27 index26 alt2">27</div><div class="line number28 index27 alt1">28</div><div class="line number29 index28 alt2">29</div></td><td class="code"><div class="container"><div class="line number1 index0 alt2"><code class="java preprocessor">/\*\*解密</code></div><div class="line number2 index1 alt1"><code class="java spaces"> </code><code class="java preprocessor">\* @param content 待解密内容</code></div><div class="line number3 index2 alt2"><code class="java spaces"> </code><code class="java preprocessor">\* @param password 解密密钥</code></div><div class="line number4 index3 alt1"><code class="java spaces"> </code><code class="java preprocessor">\* @return</code></div><div class="line number5 index4 alt2"><code class="java spaces"> </code><code class="java preprocessor">\*/</code></div><div class="line number6 index5 alt1"><code class="java keyword">public</code> <code class="java keyword">static</code> <code class="java keyword">byte</code><code class="java plain">\[\] decrypt(</code><code class="java keyword">byte</code><code class="java plain">\[\] content, String password) {</code></div><div class="line number7 index6 alt2"><code class="java spaces"> </code><code class="java keyword">try</code> <code class="java plain">{</code></div><div class="line number8 index7 alt1"><code class="java spaces"> </code><code class="java plain">KeyGenerator kgen = KeyGenerator.getInstance(</code><code class="java string">"AES"</code><code class="java plain">);</code></div><div class="line number9 index8 alt2"><code class="java spaces"> </code><code class="java plain">kgen.init(</code><code class="java value">128</code><code class="java plain">, </code><code class="java keyword">new</code> <code class="java plain">SecureRandom(password.getBytes()));</code></div><div class="line number10 index9 alt1"><code class="java spaces"> </code><code class="java plain">SecretKey secretKey = kgen.generateKey();</code></div><div class="line number11 index10 alt2"><code class="java spaces"> </code><code class="java keyword">byte</code><code class="java plain">\[\] enCodeFormat = secretKey.getEncoded();</code></div><div class="line number12 index11 alt1"><code class="java spaces"> </code><code class="java plain">SecretKeySpec key = </code><code class="java keyword">new</code> <code class="java plain">SecretKeySpec(enCodeFormat, </code><code class="java string">"AES"</code><code class="java plain">); </code></div><div class="line number13 index12 alt2"><code class="java spaces"> </code><code class="java plain">Cipher cipher = Cipher.getInstance(</code><code class="java string">"AES"</code><code class="java plain">);</code><code class="java comments">// 创建密码器</code></div><div class="line number14 index13 alt1"><code class="java spaces"> </code><code class="java plain">cipher.init(Cipher.DECRYPT\_MODE, key);</code><code class="java comments">// 初始化</code></div><div class="line number15 index14 alt2"><code class="java spaces"> </code><code class="java keyword">byte</code><code class="java plain">\[\] result = cipher.doFinal(content);</code></div><div class="line number16 index15 alt1"><code class="java spaces"> </code><code class="java keyword">return</code> <code class="java plain">result; </code><code class="java comments">// 加密</code></div><div class="line number17 index16 alt2"><code class="java spaces"> </code><code class="java plain">} </code><code class="java keyword">catch</code> <code class="java plain">(NoSuchAlgorithmException e) {</code></div><div class="line number18 index17 alt1"><code class="java spaces"> </code><code class="java plain">e.printStackTrace();</code></div><div class="line number19 index18 alt2"><code class="java spaces"> </code><code class="java plain">} </code><code class="java keyword">catch</code> <code class="java plain">(NoSuchPaddingException e) {</code></div><div class="line number20 index19 alt1"><code class="java spaces"> </code><code class="java plain">e.printStackTrace();</code></div><div class="line number21 index20 alt2"><code class="java spaces"> </code><code class="java plain">} </code><code class="java keyword">catch</code> <code class="java plain">(InvalidKeyException e) {</code></div><div class="line number22 index21 alt1"><code class="java spaces"> </code><code class="java plain">e.printStackTrace();</code></div><div class="line number23 index22 alt2"><code class="java spaces"> </code><code class="java plain">} </code><code class="java keyword">catch</code> <code class="java plain">(IllegalBlockSizeException e) {</code></div><div class="line number24 index23 alt1"><code class="java spaces"> </code><code class="java plain">e.printStackTrace();</code></div><div class="line number25 index24 alt2"><code class="java spaces"> </code><code class="java plain">} </code><code class="java keyword">catch</code> <code class="java plain">(BadPaddingException e) {</code></div><div class="line number26 index25 alt1"><code class="java spaces"> </code><code class="java plain">e.printStackTrace();</code></div><div class="line number27 index26 alt2"><code class="java spaces"> </code><code class="java plain">}</code></div><div class="line number28 index27 alt1"><code class="java spaces"> </code><code class="java keyword">return</code> <code class="java keyword">null</code><code class="java plain">;</code></div><div class="line number29 index28 alt2"><code class="java plain">}</code></div></div></td></tr></tbody></table></div></div> </div> <p> </p> <h3>解密代码</h3> <div class="cnblogs\_Highlighter sh-gutter"> <div><div id="highlighter\_899175" class="syntaxhighlighter collapsed java"><div class="toolbar"><span><a href="#" class="toolbar\_item command\_expandSource expandSource">+ View Code</a></span><span><a href="#" class="toolbar\_item command\_help help">?</a></span></div><table border="0" cellpadding="0" cellspacing="0"><tbody><tr><td class="gutter"><div class="line number1 index0 alt2">1</div><div class="line number2 index1 alt1">2</div><div class="line number3 index2 alt2">3</div><div class="line number4 index3 alt1">4</div><div class="line number5 index4 alt2">5</div><div class="line number6 index5 alt1">6</div><div class="line number7 index6 alt2">7</div><div class="line number8 index7 alt1">8</div><div class="line number9 index8 alt2">9</div><div class="line number10 index9 alt1">10</div><div class="line number11 index10 alt2">11</div><div class="line number12 index11 alt1">12</div><div class="line number13 index12 alt2">13</div></td><td class="code"><div class="container"><div class="line number1 index0 alt2"><code class="java plain">String content = </code><code class="java string">"test"</code><code class="java plain">;</code></div><div class="line number2 index1 alt1"><code class="java plain">String password = </code><code class="java string">"12345678"</code><code class="java plain">;</code></div><div class="line number3 index2 alt2"><code class="java comments">//加密</code></div><div class="line number4 index3 alt1"><code class="java plain">System.out.println(</code><code class="java string">"加密前:"</code> <code class="java plain">+ content);</code></div><div class="line number5 index4 alt2"><code class="java keyword">byte</code><code class="java plain">\[\] encryptResult = encrypt(content, password);</code></div><div class="line number6 index5 alt1"><code class="java keyword">try</code> <code class="java plain">{</code></div><div class="line number7 index6 alt2"><code class="java spaces"> </code><code class="java plain">String encryptResultStr = </code><code class="java keyword">new</code> <code class="java plain">String(encryptResult,</code><code class="java string">"utf-8"</code><code class="java plain">);</code></div><div class="line number8 index7 alt1"><code class="java spaces"> </code><code class="java comments">//解密</code></div><div class="line number9 index8 alt2"><code class="java spaces"> </code><code class="java keyword">byte</code><code class="java plain">\[\] decryptResult = decrypt(encryptResultStr.getBytes(</code><code class="java string">"utf-8"</code><code class="java plain">),password);</code></div><div class="line number10 index9 alt1"><code class="java spaces"> </code><code class="java plain">System.out.println(</code><code class="java string">"解密后:"</code> <code class="java plain">+ </code><code class="java keyword">new</code> <code class="java plain">String(decryptResult));</code></div><div class="line number11 index10 alt2"><code class="java plain">} </code><code class="java keyword">catch</code> <code class="java plain">(UnsupportedEncodingException e) {</code></div><div class="line number12 index11 alt1"><code class="java spaces"> </code><code class="java plain">e.printStackTrace();</code></div><div class="line number13 index12 alt2"><code class="java plain">}</code></div></div></td></tr></tbody></table></div></div> </div> <p> </p> <p>偶尔会报错 抛出异常,</p> <div>javax.crypto.IllegalBlockSizeException: Input length must be multiple of 16 when decrypting with padded cipher</div> <div> </div> <div>原因 加密后的byte数组是不能强制转换成字符串的,换言之:字符串和byte数组在这种情况下不是互逆的;要避免这种情况,我们需要做一些修订,可以考虑将二进制数据转换成十六进制表示</div> <div>解决方案 </div> <div> </div> <div> <h4>二进制转换成16进制</h4> <div class="cnblogs\_Highlighter sh-gutter"> <div><div id="highlighter\_492705" class="syntaxhighlighter collapsed java"><div class="toolbar"><span><a href="#" class="toolbar\_item command\_expandSource expandSource">+ View Code</a></span><span><a href="#" class="toolbar\_item command\_help help">?</a></span></div><table border="0" cellpadding="0" cellspacing="0"><tbody><tr><td class="gutter"><div class="line number1 index0 alt2">1</div><div class="line number2 index1 alt1">2</div><div class="line number3 index2 alt2">3</div><div class="line number4 index3 alt1">4</div><div class="line number5 index4 alt2">5</div><div class="line number6 index5 alt1">6</div><div class="line number7 index6 alt2">7</div><div class="line number8 index7 alt1">8</div><div class="line number9 index8 alt2">9</div><div class="line number10 index9 alt1">10</div><div class="line number11 index10 alt2">11</div><div class="line number12 index11 alt1">12</div><div class="line number13 index12 alt2">13</div><div class="line number14 index13 alt1">14</div><div class="line number15 index14 alt2">15</div></td><td class="code"><div class="container"><div class="line number1 index0 alt2"><code class="java preprocessor">/\*\*将16进制转换为二进制</code></div><div class="line number2 index1 alt1"><code class="java spaces"> </code><code class="java preprocessor">\* @param hexStr</code></div><div class="line number3 index2 alt2"><code class="java spaces"> </code><code class="java preprocessor">\* @return</code></div><div class="line number4 index3 alt1"><code class="java spaces"> </code><code class="java preprocessor">\*/</code></div><div class="line number5 index4 alt2"><code class="java keyword">public</code> <code class="java keyword">static</code> <code class="java keyword">byte</code><code class="java plain">\[\] parseHexStr2Byte(String hexStr) {</code></div><div class="line number6 index5 alt1"><code class="java spaces"> </code><code class="java keyword">if</code> <code class="java plain">(hexStr.length() < </code><code class="java value">1</code><code class="java plain">)</code></div><div class="line number7 index6 alt2"><code class="java spaces"> </code><code class="java keyword">return</code> <code class="java keyword">null</code><code class="java plain">;</code></div><div class="line number8 index7 alt1"><code class="java spaces"> </code><code class="java keyword">byte</code><code class="java plain">\[\] result = </code><code class="java keyword">new</code> <code class="java keyword">byte</code><code class="java plain">\[hexStr.length()/</code><code class="java value">2</code><code class="java plain">\];</code></div><div class="line number9 index8 alt2"><code class="java spaces"> </code><code class="java keyword">for</code> <code class="java plain">(</code><code class="java keyword">int</code> <code class="java plain">i = </code><code class="java value">0</code><code class="java plain">;i< hexStr.length()/</code><code class="java value">2</code><code class="java plain">; i++) {</code></div><div class="line number10 index9 alt1"><code class="java spaces"> </code><code class="java keyword">int</code> <code class="java plain">high = Integer.parseInt(hexStr.substring(i\*</code><code class="java value">2</code><code class="java plain">, i\*</code><code class="java value">2</code><code class="java plain">+</code><code class="java value">1</code><code class="java plain">), </code><code class="java value">16</code><code class="java plain">);</code></div><div class="line number11 index10 alt2"><code class="java spaces"> </code><code class="java keyword">int</code> <code class="java plain">low = Integer.parseInt(hexStr.substring(i\*</code><code class="java value">2</code><code class="java plain">+</code><code class="java value">1</code><code class="java plain">, i\*</code><code class="java value">2</code><code class="java plain">+</code><code class="java value">2</code><code class="java plain">), </code><code class="java value">16</code><code class="java plain">);</code></div><div class="line number12 index11 alt1"><code class="java spaces"> </code><code class="java plain">result\[i\] = (</code><code class="java keyword">byte</code><code class="java plain">) (high \* </code><code class="java value">16</code> <code class="java plain">+ low);</code></div><div class="line number13 index12 alt2"><code class="java spaces"> </code><code class="java plain">}</code></div><div class="line number14 index13 alt1"><code class="java spaces"> </code><code class="java keyword">return</code> <code class="java plain">result;</code></div><div class="line number15 index14 alt2"><code class="java plain">}</code></div></div></td></tr></tbody></table></div></div> </div> <p> </p> <h4>16进制转换为二进制</h4> <div> <div class="dp-highlighter bg\_java"> <div class="bar"> <div class="tools"> <div> <div class="cnblogs\_Highlighter sh-gutter"> <div><div id="highlighter\_416263" class="syntaxhighlighter collapsed java"><div class="toolbar"><span><a href="#" class="toolbar\_item command\_expandSource expandSource">+ View Code</a></span><span><a href="#" class="toolbar\_item command\_help help">?</a></span></div><table border="0" cellpadding="0" cellspacing="0"><tbody><tr><td class="gutter"><div class="line number1 index0 alt2">1</div><div class="line number2 index1 alt1">2</div><div class="line number3 index2 alt2">3</div><div class="line number4 index3 alt1">4</div><div class="line number5 index4 alt2">5</div><div class="line number6 index5 alt1">6</div><div class="line number7 index6 alt2">7</div><div class="line number8 index7 alt1">8</div><div class="line number9 index8 alt2">9</div><div class="line number10 index9 alt1">10</div><div class="line number11 index10 alt2">11</div><div class="line number12 index11 alt1">12</div><div class="line number13 index12 alt2">13</div><div class="line number14 index13 alt1">14</div><div class="line number15 index14 alt2">15</div></td><td class="code"><div class="container"><div class="line number1 index0 alt2"><code class="java preprocessor">/\*\*将16进制转换为二进制</code></div><div class="line number2 index1 alt1"><code class="java spaces"> </code><code class="java preprocessor">\* @param hexStr</code></div><div class="line number3 index2 alt2"><code class="java spaces"> </code><code class="java preprocessor">\* @return</code></div><div class="line number4 index3 alt1"><code class="java spaces"> </code><code class="java preprocessor">\*/</code></div><div class="line number5 index4 alt2"><code class="java keyword">public</code> <code class="java keyword">static</code> <code class="java keyword">byte</code><code class="java plain">\[\] parseHexStr2Byte(String hexStr) {</code></div><div class="line number6 index5 alt1"><code class="java spaces"> </code><code class="java keyword">if</code> <code class="java plain">(hexStr.length() < </code><code class="java value">1</code><code class="java plain">)</code></div><div class="line number7 index6 alt2"><code class="java spaces"> </code><code class="java keyword">return</code> <code class="java keyword">null</code><code class="java plain">;</code></div><div class="line number8 index7 alt1"><code class="java spaces"> </code><code class="java keyword">byte</code><code class="java plain">\[\] result = </code><code class="java keyword">new</code> <code class="java keyword">byte</code><code class="java plain">\[hexStr.length()/</code><code class="java value">2</code><code class="java plain">\];</code></div><div class="line number9 index8 alt2"><code class="java spaces"> </code><code class="java keyword">for</code> <code class="java plain">(</code><code class="java keyword">int</code> <code class="java plain">i = </code><code class="java value">0</code><code class="java plain">;i< hexStr.length()/</code><code class="java value">2</code><code class="java plain">; i++) {</code></div><div class="line number10 index9 alt1"><code class="java spaces"> </code><code class="java keyword">int</code> <code class="java plain">high = Integer.parseInt(hexStr.substring(i\*</code><code class="java value">2</code><code class="java plain">, i\*</code><code class="java value">2</code><code class="java plain">+</code><code class="java value">1</code><code class="java plain">), </code><code class="java value">16</code><code class="java plain">);</code></div><div class="line number11 index10 alt2"><code class="java spaces"> </code><code class="java keyword">int</code> <code class="java plain">low = Integer.parseInt(hexStr.substring(i\*</code><code class="java value">2</code><code class="java plain">+</code><code class="java value">1</code><code class="java plain">, i\*</code><code class="java value">2</code><code class="java plain">+</code><code class="java value">2</code><code class="java plain">), </code><code class="java value">16</code><code class="java plain">);</code></div><div class="line number12 index11 alt1"><code class="java spaces"> </code><code class="java plain">result\[i\] = (</code><code class="java keyword">byte</code><code class="java plain">) (high \* </code><code class="java value">16</code> <code class="java plain">+ low);</code></div><div class="line number13 index12 alt2"><code class="java spaces"> </code><code class="java plain">}</code></div><div class="line number14 index13 alt1"><code class="java spaces"> </code><code class="java keyword">return</code> <code class="java plain">result;</code></div><div class="line number15 index14 alt2"><code class="java plain">}</code></div></div></td></tr></tbody></table></div></div> </div> <p> </p> </div> </div> </div> </div> </div> </div> <p> 测试结果,问题解决</p> <p> </p> <div class="cnblogs\_Highlighter sh-gutter"> <div><div id="highlighter\_800122" class="syntaxhighlighter java"><div class="toolbar"><span><a href="#" class="toolbar\_item command\_help help">?</a></span></div><table border="0" cellpadding="0" cellspacing="0"><tbody><tr><td class="gutter"><div class="line number1 index0 alt2">1</div><div class="line number2 index1 alt1">2</div><div class="line number3 index2 alt2">3</div><div class="line number4 index3 alt1">4</div><div class="line number5 index4 alt2">5</div><div class="line number6 index5 alt1">6</div><div class="line number7 index6 alt2">7</div><div class="line number8 index7 alt1">8</div><div class="line number9 index8 alt2">9</div><div class="line number10 index9 alt1">10</div><div class="line number11 index10 alt2">11</div></td><td class="code"><div class="container"><div class="line number1 index0 alt2"><code class="java plain">String content = </code><code class="java string">"test"</code><code class="java plain">;</code></div><div class="line number2 index1 alt1"><code class="java plain">String password = </code><code class="java string">"12345678"</code><code class="java plain">;</code></div><div class="line number3 index2 alt2"><code class="java comments">//加密</code></div><div class="line number4 index3 alt1"><code class="java plain">System.out.println(</code><code class="java string">"加密前:"</code> <code class="java plain">+ content);</code></div><div class="line number5 index4 alt2"><code class="java keyword">byte</code><code class="java plain">\[\] encryptResult = encrypt(content, password);</code></div><div class="line number6 index5 alt1"><code class="java plain">String encryptResultStr = parseByte2HexStr(encryptResult);</code></div><div class="line number7 index6 alt2"><code class="java plain">System.out.println(</code><code class="java string">"加密后:"</code> <code class="java plain">+ encryptResultStr);</code></div><div class="line number8 index7 alt1"><code class="java comments">//解密</code></div><div class="line number9 index8 alt2"><code class="java keyword">byte</code><code class="java plain">\[\] decryptFrom = parseHexStr2Byte(encryptResultStr);</code></div><div class="line number10 index9 alt1"><code class="java keyword">byte</code><code class="java plain">\[\] decryptResult = decrypt(decryptFrom,password);</code></div><div class="line number11 index10 alt2"><code class="java plain">System.out.println(</code><code class="java string">"解密后:"</code> <code class="java plain">+ </code><code class="java keyword">new</code> <code class="java plain">String(decryptResult));</code></div></div></td></tr></tbody></table></div></div> </div> <p> </p> <div>测试结果如下:</div> <div>加密前:test<br>加密后:73C58BAFE578C59366D8C995CD0B9D6D<br>解密后:test</div> <div> </div> <div> </div> <div> </div> <div>文档参考 <a href="http://blog.csdn.net/hbcui1984/article/details/5201247" target="\_blank">http://blog.csdn.net/hbcui1984/article/details/5201247</a></div> <p> </p></div>