Android -- AES/CBC/PKCS7Padding加密解密_android hutool aes pkcs7padding-程序员宅基地

技术标签: 加密解密  android基础  AES/CBC/PKCS7Padding  Android  

一、工具类Aes

/**
 * AES128 算法
 * CBC 模式
 * PKCS7Padding 填充模式
 * CBC模式需要添加一个参数iv
 * 介于java 不支持PKCS7Padding,只支持PKCS5Padding 但是PKCS7Padding 和 PKCS5Padding 没有什么区别
 * 要实现在java端用PKCS7Padding填充,需要用到bouncycastle组件来实现
 */

// 算法名称
final String KEY_ALGORITHM = "AES";
// 加解密算法/模式/填充方式
final String algorithmStr = "AES/CBC/PKCS7Padding";
//
private Key key;
private Cipher cipher;
boolean isInited = false;

byte[] iv = { 0x30, 0x31, 0x30, 0x32, 0x30, 0x33, 0x30, 0x34, 0x30, 0x35, 0x30, 0x36, 0x30, 0x37, 0x30, 0x38 };
public void init(byte[] keyBytes) {

    // 如果密钥不足16位,那么就补足.  这个if 中的内容很重要
    int base = 16;
    if (keyBytes.length % base != 0) {
        int groups = keyBytes.length / base + (keyBytes.length % base != 0 ? 1 : 0);
        byte[] temp = new byte[groups * base];
        Arrays.fill(temp, (byte) 0);
        System.arraycopy(keyBytes, 0, temp, 0, keyBytes.length);
        keyBytes = temp;
    }
   
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/qq_26446715/article/details/98625724

智能推荐

使用PLSQL Developer中的ODBC导入器将Excel表导入Oracle数据库-程序员宅基地

文章浏览阅读3.9w次,点赞18次,收藏110次。使用PLSQL Developer中的ODBC导入器将Excel表导入Oracle数据库_odbc导入器

实现Activiti动态调整流程(自由跳转、前进、后退、分裂、前加签、后加签等)_activiti6 动态修改流程-程序员宅基地

文章浏览阅读1.9k次。原文链接:http://www.cnblogs.com/bluejoe/p/5115888.html最近对Activiti做了一些深入的研究,对Activiti的流程机制有了些理解,对动态调整流程也有了一些实践方法。现在好好总结一下,一来是对这段时间自己辛苦探索的一个记录,二来也是为后来者指指路~~~如下内容准备采用QA的方式写,很多问题都是当初自己极疑惑的问题,希望能为大家解惑!Q:..._activiti6 动态修改流程

Modbus通信协议格式以及功能码_modelbus协议功能码-程序员宅基地

文章浏览阅读2w次,点赞4次,收藏43次。Modbus通讯数据格式:单个写入多个写入读取Modbus功能码:功能码 名称 作用1 读取线圈状态 取得一组逻辑线圈的当前状态(ON/OFF)2 读取输入状态 取得一组开关输入的当前状态(ON/OFF)3 读取保持寄存器 在一个或多个保持寄存器中取得当前的二进制值4 ..._modelbus协议功能码

Matlab中图文本中的希腊字母和特殊字符_matlab图文本中的希腊字母-程序员宅基地

文章浏览阅读1.6k次,点赞2次,收藏18次。目录包含希腊字母包含上标和注释TeX 标记选项包含 LaTeX 行间数学公式的文本图文本中的希腊字母和特殊字符是可以使用 TeX 标记向图中添加包含希腊字母和特殊字符的文本。此外,还可以使用 TeX 标记添加上标、下标以及修改文本类型和颜色。默认情况下,MATLAB支持一部分 TeX 标记。要使用其他特殊字符,如积分和求和符号,可以改用 LaTeX 标记。此示例说明如何向图文本中插入希腊字母、上标和注释,并解释其他可用的 TeX 选项。包含希腊字母创建一个简单的线图并添加标题._matlab图文本中的希腊字母

arm64以及amd64和龙芯4000下安装pyqt:_generating the c++ source for the qtcore module...-程序员宅基地

文章浏览阅读3.4k次。arm64以及amd64和龙芯4000下安装pyqt:包下载地址:sip安装包地址:https://riverbankcomputing.com/software/sip/downloadqt源码下载 http://download.qt.io/arhive/qt/2.7下安装pyqt5:https://www.cnblogs.com/deeplearning1314/p/10671347.html参考编译链接:linux下安装qt:https://blog.csdn.net/u01452338_generating the c++ source for the qtcore module...error: unable to create th

玩转虚拟机之linux安装jdk_linux虚拟机安装jdk-程序员宅基地

文章浏览阅读208次。感觉在windows系统安装jdk是很easy的事,想来在linux应该也差不了太多,只不过没想到的并不是一帆风顺。首先,只是下载jdk就费了好大的劲,这里不多说,上jdk官网地址链接:https://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html下载需要有账户,自行创建吧。这里下..._linux虚拟机安装jdk

随便推点

IDEA基本配置及快捷键_j2eecfgfile插件怎么用-程序员宅基地

文章浏览阅读1.8k次,点赞4次,收藏34次。目录IDEA的快捷键IDEA基本设置★★★jdk设置★★★settings界面介绍一、切换主题二、背景设置三、字体设置四、注释设置五、系统设置六、编码设置七、智能提示忽略大小写八、重复代码横线去除九、设置文件代码模板十、修改servlet模板十一、自定义代码颜色十二、设置鼠标滚轮调节字体大小十三、设置鼠标放在方法上或者变量上会弹出注释说明十四、IDEA给选中内容添加双引号""十五、设置自动导包十六、设置代码显示行号及方法分._j2eecfgfile插件怎么用

Android改变menu中的字体颜色_android menuitem文字颜色-程序员宅基地

文章浏览阅读2.2k次。项目中我们经常用到menu菜单栏,系统给出的默认为黑色的,有时候不符合我们项目中的需要,这就需要我们对状态栏给出一些改变。:解决方案一:在style中配置给出menu的样式,通常情况下,这种方案能决绝大部分需求 <style name="MenuTextStyle"> <item name="android:textColor&_android menuitem文字颜色

如何运用IF语句把数据插入到不同的表中?_if函数将表中数据填到另一个表-程序员宅基地

文章浏览阅读829次。itedbtitle =Request("title")(1); itedbname =Request("name")(1); itedbsource =Request("source")(1); itedbtype =Request("select")(1); itedbcct =Request("content")(1); var conn =Server.CreateObject("ADO_if函数将表中数据填到另一个表

Cuda11.2pytorch安装_cuda11.2安装torch-程序员宅基地

文章浏览阅读2.3k次。pip install torch===1.7.1+cu110 torchvision===0.8.2+cu110 torchaudio===0.7.2 -f https://download.pytorch.org/whl/torch_stable.html -i https://pypi.douban.com/simple/_cuda11.2安装torch

iPS细胞建立的多种选择_成纤维细胞为什么用于ips-程序员宅基地

文章浏览阅读1.3k次。推荐阅读:1.ips细胞再生视网膜研究进展2.iPS细胞重编程实验相关实验材料四因子作用那么,是否可以直接应用相关转录因子对体细胞进行重编程而逆转终未分化细胞的发育潜能, 进而表现出ES细胞那样的多潜能性呢?Takahashi和Yamanaka{4}选择24种在小鼠早期胚胎ES细胞或者肿瘤细胞中丰富表达的转录因子, 通过筛选、组合, 发现用Oct4, Sox2, c-Myc和Klf4 4个因子(这4个因子也被称为Yamanaka因子)可以有效地将胎鼠成纤维细胞(mouse embryonic _成纤维细胞为什么用于ips

微信机器人 wechaty 针对个人微信对接chatterbot +django+drf 实现 自动回复 接入自己api接口-程序员宅基地

文章浏览阅读3.8k次。之前发表过chatterbot 的自定义api本人的流程 但是有粉丝或游客私信我 怎样对接自己个人微信 现在统一回复下 自己的心得流程 实现等在写代码之前我先表述下 之前个人微信接口 使用itchat 等 在使用这类的前提是可以 登录网页版微信 网页版微信登录链接 itchat原理就是一种爬虫 获取绘话信息处理并返回自定义信息(跑远了…) 要想获取个人微信中的对话 必须登录 才能自定义一些逻辑啥的前几天自己写了能实现对接chatterbot的api接口1 首先我们要绕过登录验证 能成功登录

推荐文章

热门文章

相关标签