[python3] 用pycryptodome实现AES/CBC/PKCS5padding算法加密中文

该博客介绍了如何使用Python3的pycryptodome库来实现AES/CBC/PKCS5padding加密,特别针对中文字符串。博主提供了java加密和解密的demo,并详细解释了java代码中涉及的关键信息,如加密模式、填充方式、偏移量等。随后,博主给出了Python的实现代码及执行结果,强调密钥应为16、24或32位的字母或数字组合。

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

写在前面

如有问题可评论留言,我看到会第一时间回复的

一、背景

将java代码的AES加密demo用python语言实现(通过pycryptodome包)

二、关键词

Python3、pycryptodome、AES/CBC/PKCS5padding、中文

三、java代码加密demo
import javax.crypto.Cipher;
import javax.crypto.spec.IvParameterSpec;
import javax.crypto.spec.SecretKeySpec;
import org.apache.commons.codec.binary.Base64;

private static String sKey = "********************************"; //密钥是string类型
private static String ivParameter = sKey.substring(0, 16); ; //偏移量是密钥截取16位,也是string类型

/**
* AES 加密
* @param str 明文
* @param key 秘钥
* @return 返回加密密文
* @throws Exception
*/
public static String encrypt(String str) throws Exception {
   
   
    try {
   
   
        Cipher cipher = Cipher.getInstance("AES/CBC/PKCS5Padding");
        byte[] raw = sKey.getBytes();  // 密钥转成byte
        SecretKeySpec skeySpec = new SecretKeySpec(raw, "AES");
        IvParameterSpec iv = new IvParameterSpec(ivParameter.getBytes()); //偏移量转成byte
  
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值