博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
AES加密解密
阅读量:5049 次
发布时间:2019-06-12

本文共 775 字,大约阅读时间需要 2 分钟。

AES简介

美国国家标准技术研究所在2001年发布了高级加密标准(AES)。AES是一个对称分组密码算法,旨在取代DES成为广泛使用的标准。

根据使用的密码长度,AES最常见的有3种密钥方案,用以适应不同的场景要求,分别是AES-128、AES-192和AES-256,与公共密钥密码使用密钥对不同,对称密钥密码使用相同的密钥加密和解密数据,

 

注意事项:1.AES加密的时候分为很多模式的。除了ECB不需要设置IV    其他模式都需要设置iv(这是别人告诉我的);如果你使用的不是ECB模式,其他模式千万记得设置IV;

 

AES加密模式和填充方式

算法/模式/填充                16字节加密后数据长度        不满16字节加密后长度

AES/CBC/NoPadding             16                          不支持
AES/CBC/PKCS5Padding          32                          16
AES/CBC/ISO10126Padding       32                          16
AES/CFB/NoPadding             16                          原始数据长度
AES/CFB/PKCS5Padding          32                          16
AES/CFB/ISO10126Padding       32                          16
AES/ECB/NoPadding             16                          不支持
AES/ECB/PKCS5Padding          32                          16
AES/ECB/ISO10126Padding       32                          16
AES/OFB/NoPadding             16                          原始数据长度
AES/OFB/PKCS5Padding          32                          16
AES/OFB/ISO10126Padding       32                          16
AES/PCBC/NoPadding            16                          不支持
AES/PCBC/PKCS5Padding         32                          16
AES/PCBC/ISO10126Padding      32                          16

 

转载于:https://www.cnblogs.com/KiVen2015/p/5420844.html

你可能感兴趣的文章
4:面向对象高级
查看>>
STM32的CRC32 软件实现代码
查看>>
LPC-LINK 2 LPC4370 简化线路图
查看>>
【模板】关于vector的lower_bound和upper_bound以及vector基本用法 STL
查看>>
linux c动态库编译好了,不能用。有些方法报(undefined reference)错误。
查看>>
在CentOS 6.5 中安装JDK 1.7 + Eclipse并配置opencv的java开发环境(二)
查看>>
docker 安装与卸载
查看>>
“搜狐微博零估值”用意何在
查看>>
如何区分 OpenStack Neutron Extension 和 Plugin
查看>>
简述人工智能发展的先决条件
查看>>
c#委托和事件
查看>>
遗漏的知识点
查看>>
PHP程序员应该掌握的10项技能!
查看>>
[多线程] Web 项目中,少有涉及到的一次多线程编程的经验
查看>>
MHA搭建及故障维护
查看>>
AWS API 2.0签名规范
查看>>
MVC3 系统列讲解
查看>>
git
查看>>
sharepoint中新添加页面
查看>>
linux--系列随笔-转载
查看>>