public abstract class AbstractEncryptCoder extends java.lang.Object implements EncryptCoder
限定符和类型 | 字段和说明 |
---|---|
static java.nio.charset.Charset |
DEFAULT_CHARSET |
static int |
MAX_BLOCK_SIZE
最大加密区块长度1M
|
static java.lang.String |
UNSUPPORT_MSG
未实现具体方法异常提示
|
构造器和说明 |
---|
AbstractEncryptCoder() |
限定符和类型 | 方法和说明 |
---|---|
protected java.lang.String |
bytes2Str(byte[] data)
字节转字符串
|
byte[] |
decrypt(byte[] ciphertext)
解密数据 文件
|
double |
decrypt(double ciphertext,
long seed,
int decimal)
解密数字
|
java.lang.String |
decrypt(java.lang.String ciphertext)
解密数据 字符串
|
protected byte[] |
doFinal(javax.crypto.Cipher cipher,
byte[] data)
按照MAX_BLOCK_SIZE分区运算加解密数据
|
byte[] |
encrypt(byte[] data)
加密文件类型的二进制数据
|
double |
encrypt(double data,
long seed)
加密小数
|
java.lang.String |
encrypt(java.lang.String data)
加密字符串
|
protected java.lang.String |
getSecretKey(java.lang.String keyId,
SupplierExtend<java.lang.String> keyGenerator)
从配置中获取密钥
|
protected byte[] |
mergeBytes(byte[] header,
byte[] data)
合并两个数组
|
protected byte[] |
removeHeader(byte[] ciphertext)
去掉头部标识的字节
|
java.lang.String |
signature(byte[] data)
文件类型加签
|
java.lang.String |
signature(java.lang.String data,
java.lang.String seed)
字符串签名
|
boolean |
signatureCheck(byte[] data,
java.lang.String signature)
文件验签
|
boolean |
signatureCheck(java.lang.String data,
java.lang.String signature,
java.lang.String seed) |
protected byte[] |
str2Bytes(java.lang.String data)
字符串转字节数组
|
public static final java.nio.charset.Charset DEFAULT_CHARSET
public static final java.lang.String UNSUPPORT_MSG
public static final int MAX_BLOCK_SIZE
protected byte[] doFinal(javax.crypto.Cipher cipher, byte[] data) throws javax.crypto.BadPaddingException, javax.crypto.IllegalBlockSizeException
cipher
- data
- javax.crypto.BadPaddingException
javax.crypto.IllegalBlockSizeException
protected byte[] str2Bytes(java.lang.String data)
data
- protected java.lang.String bytes2Str(byte[] data)
data
- protected byte[] mergeBytes(byte[] header, byte[] data)
header
- 头部标识区域data
- 密文数据protected byte[] removeHeader(byte[] ciphertext)
ciphertext
- protected java.lang.String getSecretKey(java.lang.String keyId, SupplierExtend<java.lang.String> keyGenerator) throws CoderException
keyId
- CoderException
public byte[] encrypt(byte[] data) throws CoderException
EncryptCoder
encrypt
在接口中 EncryptCoder
data
- 待加密明文CoderException
public java.lang.String encrypt(java.lang.String data) throws CoderException
EncryptCoder
encrypt
在接口中 EncryptCoder
data
- 待加密明文
具体的加密操作:正文/附件/日志等CoderException
public double encrypt(double data, long seed) throws CoderException
EncryptCoder
encrypt
在接口中 EncryptCoder
data
- 待加密数字seed
- 参与混肴的盐,通常是用户idCoderException
public byte[] decrypt(byte[] ciphertext) throws CoderException
EncryptCoder
decrypt
在接口中 EncryptCoder
ciphertext
- 密文CoderException
public double decrypt(double ciphertext, long seed, int decimal) throws CoderException
EncryptCoder
decrypt
在接口中 EncryptCoder
ciphertext
- 待解密数字seed
- 参与混肴的盐,通常是用户iddecimal
- 保留的有效小数位CoderException
public java.lang.String decrypt(java.lang.String ciphertext) throws CoderException
EncryptCoder
decrypt
在接口中 EncryptCoder
ciphertext
- 密文CoderException
public java.lang.String signature(byte[] data) throws CoderException
EncryptCoder
signature
在接口中 EncryptCoder
data
- 待签名的原始数据CoderException
public boolean signatureCheck(byte[] data, java.lang.String signature) throws CoderException
EncryptCoder
signatureCheck
在接口中 EncryptCoder
CoderException
public java.lang.String signature(java.lang.String data, java.lang.String seed) throws CoderException
EncryptCoder
signature
在接口中 EncryptCoder
data
- 签名数据seed
- 盐 保证同样字符串签名后的密文不一样之前是用户的用户登录名加密CoderException
public boolean signatureCheck(java.lang.String data, java.lang.String signature, java.lang.String seed) throws CoderException
signatureCheck
在接口中 EncryptCoder
data
- 待签名数据signature
- 签名后的密文seed
- 盐 保证同样字符串签名后的密文不一样CoderException