我需要在android中进行加密和解密,
现在我使用'AES'算法加密,我得到了一些加密值就像' * 1FO '但我需要像'38533F4B3F3852203F443F3F283F3F'这样的输出
任何人都有想法......
我的加密代码
IvParameterSpec _IVParamSpec = new IvParameterSpec(IV);
SecretKeySpec sks = new SecretKeySpec(KEY, "AES");
cipher.init(Cipher.ENCRYPT_MODE, sks,_IVParamSpec);
/*byte[] bt = new byte[256] ;
bt = hexStringToByteArray(strToDecrypt);*/
//final String decryptedString1 = new String(cipher.doFinal(bt));
//final String decryptedString = new String(cipher.doFinal(strToDecrypt.getBytes("UTF-16LE")));
final String decryptedString2 = new String(cipher.doFinal(Base64.decode(strToDecrypt, Base64.NO_WRAP)));
String StrHex = toHex(decryptedString);
final String decryptedString1 = new String(cipher.doFinal(strToDecrypt.getBytes()));
答案 0 :(得分:0)
使用此包:
http://commons.apache.org/proper/commons-codec/
它支持转换十六进制字符串,并提供除AES(AFAIK)之外的各种加密