Android 十六进制十进制值加密和解密?
Android Encryption And Decryption With Hex Decimal Values?
我需要在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()));
使用这个包:
http://commons.apache.org/proper/commons-codec/
它支持转换十六进制字符串,还提供除 AES (AFAIK) 之外的各种加密
我需要在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()));
使用这个包:
http://commons.apache.org/proper/commons-codec/
它支持转换十六进制字符串,还提供除 AES (AFAIK) 之外的各种加密