AES加密算法

密钥类型

  • AES-128:128位比特(16字节)
  • AES-192:192位比特(24字节)
  • AES-256:256位比特(32字节)

一般简短数据采用AES-128,也就是16字节,少部分采用AES-256。  

填充方式

  • NoPadding:不填充,只能加密长度为16倍数的数据,一般不适用;
  • Zeros:补0,如果原数据长度恰好是16的倍数,也要补16个0;
  • ISO10126:最后一个字节是填充的字节数(包括最后一字节),其他全部填随机数

1 2 3 4 5 6 7 8 9 10 – x x x x x 6 

填充6个字节

  • PKCS5(PKCS7):应用比较多,最后一组缺几个字节就填充几

1 2 3 4 5 6 7 8 9 10 – 6 6 6 6 6 6 

前面10个字节,缺6字节才能为一组,填充6个6;如果恰好是16个字节,则填充16个16.

加密方式

  • 电码本模式(Electronic Codebook Book,简称ECB):将明文按16字节分组,每组分别加密后拼接;

efb1e9f0e78b15f883e39c4dbe8473f1.png

  • 密码分组链接模式(Cipher Block Chaining,简称CBC):ECB缺点是明文内相同的明文块,最终的密文也是相同的,为了更好的隐藏明文信息,针对这个问题就有了CBC模式,每一小段明文先与初始块向量或者上一段的密文段进行异或运算后,再与密钥进行加密。

83f4abaf30f1ce4c03b420cc9a7d66e3.png 

  • 计算器模式(Counter,简称CTR)
  • 密码反馈模式(Cipher FeedBack,简称CFB)
  • 输出反馈模式(Output FeedBack,简称OFB)

实际应用较多的加密方式:ECB和CBC两种

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值