java加密后的密文:iP6nVfCE9Eiw47utJDR6wV6Lhl4xyOgYykub0HUJSZQ=以下是java的aes加密類,希望能用php解密出來
package com.mk.api.util;import java.security.Key;import java .security.MessageDigest;導(dǎo)入java.util.Arrays;導(dǎo)入javax.crypto.Cipher;導(dǎo)入javax.crypto.spec.SecretKeySpec;導(dǎo)入javax.xml.bind.DatatypeConverter;/*** AES 加密*/public class AES { ? private靜態(tài)最終字符串 AESTYPE = "AES"; ? 私有靜態(tài)最終字符串KEY =“Z8LSq0wWwB5v+6YJzurcP463H3F12iZh74fDj4S74oUH4EONkiKb2FmiWUbtFh97GG/c/lbDE47mvw6j94yXxKHOpoqu6zpLKMKPcOoSppcVWb2q34qENBJkudXUh4MWcreond LmLL2UyydtFKuU9Sa5VgY/CzGaVGJABK2ZR94="; ? ? /**? ?* 加密 ? ?* @param content ? ?* @return ? ?*/ ? public static String encrypt(String str) { ? ? ?try { ? ? ? ? Key key =generateKey(); ? ? ? ? 密碼 c = Cipher.getInstance(AESTYPE); ? ? ? ? c.init(Cipher.ENCRYPT_MODE, 密鑰); ? ? ? ? byte[] encVal = c.doFinal(str.getBytes()); ? ? ? ? 字符串加密值 = DatatypeConverter.printBase64Binary(encVal); ? ? ? ? 返回加密值; ? ? ?} catch (Exception e) { ? ? ? ? e.printStackTrace(); ? ? ?} ? ? ?返回 null; ? } ? /**? ?* 解密 ? ?* @param content ? ?* @return ? ?*/ ? 公共靜態(tài)字符串解密(String str) { ? ? ?嘗試{ ? ? ? ? Key key =generateKey(); ? ? ? ? 密碼 c = Cipher.getInstance(AESTYPE); ? ? ? ? c.init(Cipher.DECRYPT_MODE, 密鑰); ? ? ? ? byte[] dedecdedValue = DatatypeConverter.parseBase64Binary(str); ? ? ? ? byte[] decValue = c.doFinal(decordedValue); ? ? ? ? 字符串解密值 = new String(decValue); ? ? ? ? 返回解密值; ? ? ?} catch (Exception e) { ? ? ? ? e.printStackTrace(); ? ? ?} ? ? ?返回 null; ? } ? private static KeygenerateKey() throws Exception { ? ? ?byte[] keyValue = KEY.getBytes("UTF-8"); ? ? ?MessageDigest sha = MessageDigest.getInstance("SHA-1"); ? ? ?keyValue = sha.digest(keyValue); ? ? ?keyValue = Arrays.copyOf(keyValue, 16); ? ? ?密鑰 key = new SecretKeySpec(keyValue, AESTYPE); ? ? ?返回鍵; ? } ? }
看看這個:http://miracleart.cn/php-weizijiaocheng-455991.html
package?com.mk.api.util; import?java.security.Key; import?java.security.MessageDigest; import?java.util.Arrays; import?javax.crypto.Cipher; import?javax.crypto.spec.SecretKeySpec; import?javax.xml.bind.DatatypeConverter; /** ?*?AES?加密 ?*/ public?class?AES?{ ???private?static?final?String?AESTYPE?=?"AES"; ???private?static?final?String?KEY?=?"Z8LSq0wWwB5v+6YJzurcP463H3F12iZh74fDj4S74oUH4EONkiKb2FmiWUbtFh97GG/c/lbDE47mvw6j94yXxKHOpoqu6zpLKMKPcOoSppcVWb2q34qENBJkudXUh4MWcreondLmLL2UyydtFKuU9Sa5VgY/CzGaVGJABK2ZR94="; ??? ???/** ????*?加密 ????*?@param?content ????*?@return ????*/ ???public?static?String?encrypt(String?str)?{ ??????try?{ ?????????Key?key?=?generateKey(); ?????????Cipher?c?=?Cipher.getInstance(AESTYPE); ?????????c.init(Cipher.ENCRYPT_MODE,?key); ?????????byte[]?encVal?=?c.doFinal(str.getBytes()); ?????????String?encryptedValue?=?DatatypeConverter.printBase64Binary(encVal); ?????????return?encryptedValue; ??????}?catch?(Exception?e)?{ ?????????e.printStackTrace(); ??????} ??????return?null; ???} ???/** ????*?解密 ????*?@param?content ????*?@return ????*/ ???public?static?String?decrypt(String?str)?{ ??????try?{ ?????????Key?key?=?generateKey(); ?????????Cipher?c?=?Cipher.getInstance(AESTYPE); ?????????c.init(Cipher.DECRYPT_MODE,?key); ?????????byte[]?decordedValue?=?DatatypeConverter.parseBase64Binary(str); ?????????byte[]?decValue?=?c.doFinal(decordedValue); ?????????String?decryptedValue?=?new?String(decValue); ?????????return?decryptedValue; ??????}?catch?(Exception?e)?{ ?????????e.printStackTrace(); ??????} ??????return?null; ???} ???private?static?Key?generateKey()?throws?Exception?{ ??????byte[]?keyValue?=?KEY.getBytes("UTF-8"); ??????MessageDigest?sha?=?MessageDigest.getInstance("SHA-1"); ??????keyValue?=?sha.digest(keyValue); ??????keyValue?=?Arrays.copyOf(keyValue,?16); ??????Key?key?=?new?SecretKeySpec(keyValue,?AESTYPE); ??????return?key; ???} ??? }
上面代碼格式亂了