public class PBECryptor extends SymmetricCryptor
|---------------------------------------|-------------------|---------------------------| | 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出去从而泄露。 而char[]可以写入其他的信息从而改变,即是被dump了也会减少泄露密码的风险。
PBE Cryptors
| 限定符和类型 | 类和说明 |
|---|---|
static class |
PBECryptor.PBEAlgorithm |
parameter| 构造器和说明 |
|---|
PBECryptor(SecretKey secretKey,
Mode mode,
Padding padding,
AlgorithmParameterSpec parameter,
Provider provider) |
| 限定符和类型 | 方法和说明 |
|---|---|
int |
getIterations() |
byte[] |
getParameterAsBytes()
Returns iv parameter byte array data
|
char[] |
getPass() |
byte[] |
getSalt() |
decrypt, encrypt, getAlgorithm, getKey, getKeyAsBase64, getMode, getPadding, getParameterAsBase64, getProviderpublic PBECryptor(SecretKey secretKey, Mode mode, Padding padding, AlgorithmParameterSpec parameter, Provider provider)
public char[] getPass()
public byte[] getSalt()
public int getIterations()
public byte[] getParameterAsBytes()
SymmetricCryptorgetParameterAsBytes 在类中 SymmetricCryptorCopyright © 2023. All rights reserved.