Android实现CBC加解密

前言

CBC(Cipher-block chaining),即密码分组链接,是一种较为常用的加密模式。接下来介绍一下Android中实现CBC加解密的具体流程。

导入bcprov.jar

实现CBC加密需要用到bcprov.jar,百度网盘下载地址:
链接:https://pan.baidu.com/s/11l9HybOcizxzdaea2iiECQ
提取码:ijmz

AESCBCUtil.java

定义一个工具类AESCBCUtil,实现CBC加密、解密等方法:

package com.example.cbc;

import java.util.Locale;
import javax.crypto.Cipher;
import javax.crypto.spec.IvParameterSpec;
import javax.crypto.spec.SecretKeySpec;
import org.bouncycastle.util.encoders.Base64;

public class AESCBCUtil {
   
    //密码
    private static final String key = "aaaabbbbccccdddd";
    //iv偏移量
    private static final String iv = "0000000000000000";

    /**
     * 加密:对字符串进行加密,并返回十六进制字符串(hex)
     *
     * @param encryptStr 需要加密的字符串
     * @return 加密后的十六进制字符串(hex)
     */
    public static String encrypt(String encryptStr,String key,String iv) {
   
        try {
   
            IvParameterSpec ivParameterSpec = new IvParameterSpec(iv.getBytes("UTF-8"));
            SecretKeySpec skeySpec = new SecretKeySpec(key.getBytes("UTF-8"), "AES");

            Cipher cipher = Cipher.getInstance("AES/CBC/PKCS5PADDING");
            cipher.init
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值