android 十六进制加密,使用十六进制十进制值的Android加密和解密?

本问题已经有最佳答案,请猛点这里访问。

我需要在Android中进行加密和解密,

现在我使用"aes"算法加密,我得到了一些加密值,比如"?*?1FO??'但我需要这样的输出'38533f4b3f385203f443f283f3f'

谁都知道……

我的加密代码

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()));

因此,您正在询问如何在Java中将字节数组转换为十六进制字符串?stackoverflow.com/questions/9655181/…

38533f4b3f852203f443f283f3f是十六进制字符串,未加密。你的原始数据是什么?

@amir例如,如果输入'userid'意味着,我需要像'40d44d0'这样的带有加密AES的输出

@saravanan"40d44d0"不是"userid"的十六进制编码,太短,无法作为加密的"userid"的十六进制编码。你在说什么?请详细描述你想要达到的目标。

如果要将字节数组转换为可作为文本处理的内容,则base64占用的空间小于hex(=base16)。

@ ArtjomB。请你帮我解答一下我的问题stackoverflow.com/questions/43224137/…

使用此包:http://commons.apache.org/proper/commons-codec/它支持转换十六进制字符串,并提供除aes(afaik)之外的各种加密。

好的,我试试……谢谢你的重播

请尝试格式化您的句子,这不是youtube,我们尽量避免使用youtube类型的语言,因为它会使网站变笨。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值