public class SymmetricCrypto extends Object implements Serializable
Constructor and Description |
---|
SymmetricCrypto(String algorithm)
构造,使用随机密钥
|
SymmetricCrypto(String algorithm,
byte[] key)
构造
|
SymmetricCrypto(String algorithm,
SecretKey key)
构造
|
SymmetricCrypto(String algorithm,
SecretKey key,
AlgorithmParameterSpec paramsSpec)
构造
|
SymmetricCrypto(SymmetricAlgorithm algorithm)
构造,使用随机密钥
|
SymmetricCrypto(SymmetricAlgorithm algorithm,
byte[] key)
构造
|
SymmetricCrypto(SymmetricAlgorithm algorithm,
SecretKey key)
构造
|
Modifier and Type | Method and Description |
---|---|
byte[] |
decrypt(byte[] bytes)
解密
|
byte[] |
decrypt(InputStream data)
解密,不会关闭流
|
byte[] |
decrypt(String data)
解密Hex(16进制)或Base64表示的字符串
|
String |
decryptStr(byte[] bytes)
解密为字符串,默认UTF-8编码
|
String |
decryptStr(byte[] bytes,
Charset charset)
解密为字符串
|
String |
decryptStr(InputStream data)
解密
|
String |
decryptStr(InputStream data,
Charset charset)
解密,不会关闭流
|
String |
decryptStr(String data)
解密Hex(16进制)或Base64表示的字符串,默认UTF-8编码
|
String |
decryptStr(String data,
Charset charset)
解密Hex(16进制)或Base64表示的字符串
|
byte[] |
encrypt(byte[] data)
加密
|
byte[] |
encrypt(InputStream data)
加密
|
byte[] |
encrypt(String data)
加密,使用UTF-8编码
|
byte[] |
encrypt(String data,
Charset charset)
加密
|
byte[] |
encrypt(String data,
String charset)
加密
|
String |
encryptBase64(byte[] data)
加密
|
String |
encryptBase64(InputStream data)
加密
|
String |
encryptBase64(String data)
加密,使用UTF-8编码
|
String |
encryptBase64(String data,
Charset charset)
加密
|
String |
encryptBase64(String data,
String charset)
加密
|
String |
encryptHex(byte[] data)
加密
|
String |
encryptHex(InputStream data)
加密
|
String |
encryptHex(String data)
加密,使用UTF-8编码
|
String |
encryptHex(String data,
Charset charset)
加密
|
String |
encryptHex(String data,
String charset)
加密
|
Cipher |
getCipher()
获得加密或解密器
|
SecretKey |
getSecretKey()
获得对称密钥
|
SymmetricCrypto |
init(String algorithm,
SecretKey key)
初始化
|
SymmetricCrypto |
setIv(byte[] iv)
设置偏移向量
|
SymmetricCrypto |
setIv(IvParameterSpec iv)
设置偏移向量
|
SymmetricCrypto |
setParams(AlgorithmParameterSpec params)
设置
AlgorithmParameterSpec ,通常用于加盐或偏移向量 |
public SymmetricCrypto(SymmetricAlgorithm algorithm)
algorithm
- SymmetricAlgorithm
public SymmetricCrypto(String algorithm)
algorithm
- 算法,可以是"algorithm/mode/padding"或者"algorithm"public SymmetricCrypto(SymmetricAlgorithm algorithm, byte[] key)
algorithm
- 算法 SymmetricAlgorithm
key
- 自定义KEYpublic SymmetricCrypto(SymmetricAlgorithm algorithm, SecretKey key)
algorithm
- 算法 SymmetricAlgorithm
key
- 自定义KEYpublic SymmetricCrypto(String algorithm, byte[] key)
algorithm
- 算法key
- 密钥public SymmetricCrypto(String algorithm, SecretKey key)
algorithm
- 算法key
- 密钥public SymmetricCrypto(String algorithm, SecretKey key, AlgorithmParameterSpec paramsSpec)
algorithm
- 算法key
- 密钥paramsSpec
- 算法参数,例如加盐等public SymmetricCrypto init(String algorithm, SecretKey key)
algorithm
- 算法key
- 密钥,如果为null
自动生成一个keypublic SymmetricCrypto setParams(AlgorithmParameterSpec params)
AlgorithmParameterSpec
,通常用于加盐或偏移向量params
- AlgorithmParameterSpec
public SymmetricCrypto setIv(IvParameterSpec iv)
iv
- IvParameterSpec
偏移向量public SymmetricCrypto setIv(byte[] iv)
iv
- 偏移向量,加盐public byte[] encrypt(byte[] data)
data
- 被加密的bytespublic String encryptHex(byte[] data)
data
- 数据public String encryptBase64(byte[] data)
data
- 数据public byte[] encrypt(String data, String charset)
data
- 被加密的字符串charset
- 编码public byte[] encrypt(String data, Charset charset)
data
- 被加密的字符串charset
- 编码public String encryptHex(String data, String charset)
data
- 被加密的字符串charset
- 编码public String encryptHex(String data, Charset charset)
data
- 被加密的字符串charset
- 编码public String encryptBase64(String data, String charset)
data
- 被加密的字符串charset
- 编码public String encryptBase64(String data, Charset charset)
data
- 被加密的字符串charset
- 编码public byte[] encrypt(String data)
data
- 被加密的字符串public String encryptHex(String data)
data
- 被加密的字符串public String encryptBase64(String data)
data
- 被加密的字符串public byte[] encrypt(InputStream data) throws IORuntimeException
data
- 被加密的字符串IORuntimeException
- IO异常public String encryptHex(InputStream data)
data
- 被加密的字符串public String encryptBase64(InputStream data)
data
- 被加密的字符串public byte[] decrypt(byte[] bytes)
bytes
- 被解密的bytespublic String decryptStr(byte[] bytes, Charset charset)
bytes
- 被解密的bytescharset
- 解密后的charsetpublic String decryptStr(byte[] bytes)
bytes
- 被解密的bytespublic byte[] decrypt(String data)
data
- 被解密的String,必须为16进制字符串或Base64表示形式public String decryptStr(String data, Charset charset)
data
- 被解密的Stringcharset
- 解密后的charsetpublic String decryptStr(String data)
data
- 被解密的Stringpublic byte[] decrypt(InputStream data) throws IORuntimeException
data
- 被解密的bytesIORuntimeException
- IO异常public String decryptStr(InputStream data, Charset charset)
data
- 被解密的InputStreamcharset
- 解密后的charsetpublic String decryptStr(InputStream data)
data
- 被解密的InputStreampublic SecretKey getSecretKey()
public Cipher getCipher()
Copyright © 2021. All rights reserved.