https://github.com/yanue/aes-cbc-pkcs7
多语言aes-cbc-pkcs7加密模式,已支持7种: go,js,python,php,c#,java,swift
https://github.com/yanue/aes-cbc-pkcs7
aes aes-128-cbc aes-cbc-pkcs7 cbc pkcs7
Last synced: 7 months ago
JSON representation
多语言aes-cbc-pkcs7加密模式,已支持7种: go,js,python,php,c#,java,swift
- Host: GitHub
- URL: https://github.com/yanue/aes-cbc-pkcs7
- Owner: yanue
- Created: 2022-08-05T03:01:07.000Z (about 3 years ago)
- Default Branch: main
- Last Pushed: 2022-08-05T10:51:18.000Z (about 3 years ago)
- Last Synced: 2025-03-18T09:46:02.376Z (7 months ago)
- Topics: aes, aes-128-cbc, aes-cbc-pkcs7, cbc, pkcs7
- Language: Java
- Homepage:
- Size: 11.7 KB
- Stars: 55
- Watchers: 2
- Forks: 15
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# 多种语言aes-cbc-pkcs7加密解密
* 多种语言aes-cbc-pkcs7加密模式,已支持7种: go,js,python,php,c#,java,swift
* 支持**base64**和**hex**输入输出两种模式,每种模式各个语言之间能相互解析,已测试验证### aes介绍
> AES,高级加密标准(英语:Advanced Encryption Standard,缩写:AES),在密码学中又称Rijndael加密法,是美国联邦政府采用的一种区块加密标准。这个标准用来替代原先的DES,已经被多方分析且广为全世界所使用。严格地说,AES和Rijndael加密法并不完全一样(虽然在实际应用中二者可以互换),因为Rijndael加密法可以支持更大范围的区块和密钥长度:AES的区块长度固定为128比特,密钥长度则可以是128,192或256比特;而Rijndael使用的密钥和区块长度可以是32位的整数倍,以128位为下限,256比特为上限。包括AES-ECB,AES-CBC,AES-CTR,AES-OFB,AES-CFB### 明文key及偏移量iv说明
```
key可为允许16,24,32字节长度,分别对应aes-128,aes-192,aes-256
iv只能为16字节长度
```### 分组密码有五种工作体制
> 当前仅支持CBC,如有需要,可根据当前代码测试调整
```
1.(ECB)电码本模式-Electronic Codebook Book
2.(CBC)密码分组链接模式-Cipher Block Chaining
3.(CTR)计算器模式-Counter
4.(CFB)密码反馈模式-Cipher FeedBack
5.(OFB)输出反馈模式-Output FeedBack
```### 填充模式
> 当前仅支持pkcs7padding,如有需要,可根据当前代码测试调整
```
pkcs5padding
pkcs7padding
zeropadding
iso10126
ansix923
no padding
```### 参考整理
```
https://www.acgxt.com/470.html
```