AES 加密中文,加密前不是乱码,加密后密文解密中文乱码

该博客探讨了使用AES加密中文字符串时遇到的问题,主要涉及AES的CBC模式、NoPadding填充以及Base64编码。在加密和解密过程中,由于编码处理不当导致解密后的中文出现乱码。示例代码提供了加密和解密的方法,但存在潜在的编码错误。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

import com.qiniu.util.Base64; import javax.crypto.Cipher; import javax.crypto.spec.IvParameterSpec; import javax.crypto.spec.SecretKeySpec; import java.security.spec.AlgorithmParameterSpec;

/**

  • AES 是一种可逆加密算法,对用户的敏感信息加密处理
  • 对原始数据进行AES加密后,在进行Base64编码转化;
  • @author
  • @time 2017/11/27 15:54
  • 填充:zeropadding 128位
  • 模式:CBC
  • 密码:Kbj.543Lbwb5kNbP
  • 偏移量:B*L032Ykls9-g858

/ public class AesCBCUtil { //私钥 AES固定格式为128/192/256 bits.即:16/24/32bytes public static final String APP_LOGIN_IN_KEY = "Kbj.543Lbwb5kNbP"; //初始化向量参数,AES 为16bytes public static final String GIV = "BL032Ykls9-g858";

/**
 * CBC
 *
 * @param data
 * @param key
 * @return
 * @throws Exception
 */
public static String encrypt(String data, String key) {
复制代码

// Logger.getInstace(

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值