当前位置:   article > 正文

aes加密 java_Java - AES加密解密

java aes加密为什么要16进制

内容: 使用Java中Cipher工具类进行AES加密,并将加密后的byte数组转换成16进制字符串。(也可以转换成base64字符串)

加密过程:

1.数组扩容(需要是16的倍数)

2. 加密得到byte数组

3. 遍历byte数组,对byte字节进行补码成正十进制数值

4. 十进制数值转换成十六进制数值

5. 十六进制数值如果只有一位需要在前面追加0补充。 这是为了解密时十六进制进行转换成10进制。

解密过程:

1.十六进制字符串转换成byte数组时需要每两个字符进行, 因为前面加密时进行了补0.

2.进行10进制换算 第一位是进1的,所以要乘以16 然后加上第二位。如果是0的话,乘的时候也是0,所以这是为什么加密的时候要在前面加0(还有一个是为了两两换算).

3. 十进制进行byte转换, java会自动反转和加密时的byte数组对应起来 4. 拿到原加密数组后进行解密并返回字符串

​​

package com.cli.example.util;

import javax.crypto.Cipher;

import javax.crypto.spec.IvParameterSpec;

import javax.crypto.spec.SecretKeySpec;

import java.util.Arrays;

/*** AES加密工具类** @author Cr* @date 2020-03-22** **/

public class AESUtil {

private static final IvParameterSpec IV_PARAMETER_SPEC = new IvP

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/我家小花儿/article/detail/938397
推荐阅读
相关标签
  

闽ICP备14008679号