| 类 | 说明 |
|---|---|
| PBECryptor |
|---------------------------------------|-------------------|---------------------------|
| Algorithm | secret key length | default secret key length |
|---------------------------------------|-------------------|---------------------------|
| PBEWithMD5AndDES | 56 | 56 |
|---------------------------------------|-------------------|---------------------------|
| PBEWithMD5AndTripleDES | 112,168 | 168 |
|---------------------------------------|-------------------|---------------------------|
| PBEWithSHA1AndDESede | 112,168 | 168 |
|---------------------------------------|-------------------|---------------------------|
| PBEWithSHA1AndRC2_40 | 40 to 1024 | 128 |
|---------------------------------------|-------------------|---------------------------|
String是常量(即创建之后就无法更改),会保存到常量池中,如果有其他进程
可以dump这个进程的内存,那么密码就会随着常量池被dump出去从而泄露。
|
| PBECryptorBuilder |
PBE Cryptor builder
|
| SymmetricCryptor |
AES
http://blog.csdn.net/qq_28205153/article/details/55798628
http://blog.csdn.net/lrwwll/article/details/78069013
https://coolshell.cn//wp-content/uploads/2010/10/rijndael_ingles2004.swf
对称加密
加密:C = E(K, P)
解密:P = D(K, C)
AES 密钥长度(32位比特字) 分组长度(32位比特字) 加密轮数
AES-128 4 4 10
AES-192 6 4 12
AES-256 8 4 14
1、明文按16字节(4个32位比特字)分组,P[0],P[1],...
|
| SymmetricCryptorBuilder |
对称加密构建类
|
| 枚举 | 说明 |
|---|---|
| Algorithm |
对称密钥算法bit(位)
DES key size must be equal to 64
DESede(TripleDES) key size must be equal to 112 or 168
AES key size must be equal to 128, 192 or 256, but 192 and 256 bits may be unsupport
Blowfish key size must be multiple of 8, and can only range from 32 to 448 (inclusive)
RC2 key size must be between 40 and 1024 bits(block cipher, 曾经被考虑作为DES算法的替代品, 比DES快)
RC4(ARCFOUR) key size must be between 40 and 1024 bits(stream cipher)
AES进入最后一轮候选算法有:Rijndael/Serpent/Twofish/RC6/MARS,最终Rijndael算法获胜
速度排名:IDEA < DES < GASTI28 < GOST < AES < RC4 < TEA < Blowfish
1、DES(Data Encryption Standard):对称算法,数据加密标准,速度较快,适用于加密大量数据的场合;
2、3DES(Triple DES):是基于DES的对称算法,对一块数据用三个不同的密钥进行三次加密,强度更高;
3、RC2和RC4:对称算法,用变长密钥对大量数据进行加密,比 DES快;
4、IDEA(International Data Encryption Algorithm)国际数据加密算法,使用128位密钥提供非常强的安全性;
5、RSA:由 RSA 公司发明,是一个支持变长密钥的公共密钥算法,需要加密的文件块的长度也是可变的,非对称算法;
6、DSA(Digital Signature Algorithm):数字签名算法,是一种标准的 DSS(数字签名标准),严格来说不算加密算法;
7、AES(Advanced Encryption Standard):高级加密标准,对称算法,是下一代的加密算法标准,速度快,安全级别高,在21世纪AES标准的一个实现是Rijndael算法;
8、BLOWFISH,它使用变长的密钥,长度可达448位,运行速度很快;
10、PKCS:The Public-Key Cryptography Standards (PKCS)是由美国RSA数据安全公司及其合作伙伴制定的一组公钥密码学标准,
其中包括证书申请、证书更新、证书作废表发布、扩展证书内容以及数字签名、数字信封的格式等方面的一系列相关协议。
|
| Mode |
对称加密分组模式
推荐使用CBC和CTR模式
CFB,OFB,CTR模式不需要padding
ECB:最基本的加密模式,也就是通常理解的加密,相同的明文将永远加密成相同的密文,无初始向量,容易受到密码本重放攻击,一般情况下很少用。
|
| Padding |
encrypt padding
pkcs7Padding must be has BouncyCastleProvider support
PKCS7Padding:缺几个字节就补几个字节的0
PKCS5Padding:缺几个字节就补充几个字节的几,如缺6个字节就补充6个字节的6
|
| PBECryptor.PBEAlgorithm |
Copyright © 2023. All rights reserved.