public interface Cipher
Modifier and Type | Interface and Description |
---|---|
static interface |
Cipher.Parameters
Cipher所需参数,包括Key、Random、IV等信息
|
Modifier and Type | Method and Description |
---|---|
int |
doFinal(byte[] out,
int outOff)
处理最后一块数据
当 process(byte[], int, int, byte[], int) 处理完数据后非完整块数据,此方法用于处理块中剩余的bytes如加密数据要求128bit,即16byes的整数,单数处理数据后为15bytes,此时根据padding方式不同,可填充剩余1byte为指定值(如填充0) 当对数据进行分段加密时,需要首先多次执行process方法,在最后一块数据处理完后执行此方法。 |
String |
getAlgorithmName()
获取算法名称
|
int |
getBlockSize()
获取块大小,当为Stream方式加密时返回0
|
int |
getOutputSize(int len)
返回输出缓冲区为了保存下一个update或doFinal操作的结果所需的长度(以字节为单位)
下一个update或doFinal调用的实际输出长度可能小于此方法返回的长度。 |
void |
init(CipherMode mode,
Cipher.Parameters parameters)
初始化模式和参数
|
int |
process(byte[] in,
int inOff,
int len,
byte[] out,
int outOff)
执行运算,可以是加密运算或解密运算
此方法主要处理一块数据,一块数据处理完毕后,应调用 doFinal(byte[], int) 处理padding等剩余数据。 |
default byte[] |
processFinal(byte[] in)
处理数据,并返回最终结果
此方法用于完整处理一块数据并返回。 |
default byte[] |
processFinal(byte[] in,
int inOffset,
int inputLen)
处理数据,并返回最终结果
此方法用于完整处理一块数据并返回。 |
String getAlgorithmName()
int getBlockSize()
void init(CipherMode mode, Cipher.Parameters parameters)
mode
- 模式,如加密模式或解密模式parameters
- Cipher所需参数,包括Key、Random、IV等信息int getOutputSize(int len)
len
- 输入长度int process(byte[] in, int inOff, int len, byte[] out, int outOff)
doFinal(byte[], int)
处理padding等剩余数据。in
- 输入数据inOff
- 输入数据开始位置len
- 被处理数据长度out
- 输出数据outOff
- 输出数据开始位置int doFinal(byte[] out, int outOff)
process(byte[], int, int, byte[], int)
处理完数据后非完整块数据,此方法用于处理块中剩余的bytesout
- 经过process执行过运算的结果数据outOff
- 数据处理开始位置default byte[] processFinal(byte[] in)
in
- 输入数据default byte[] processFinal(byte[] in, int inOffset, int inputLen)
in
- 输入数据inOffset
- 输入开始的 input中的偏移量inputLen
- 输入长度process(byte[], int, int, byte[], int)
,
doFinal(byte[], int)
Copyright © 2025. All rights reserved.