博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
java中的AlgorithmParameterSpec接口及其IvParameterSpec实现类
阅读量:4258 次
发布时间:2019-05-26

本文共 1347 字,大约阅读时间需要 4 分钟。

随时随地阅读更多技术实战干货,获取项目源码、学习资料,请关注源代码社区公众号(ydmsq666)、QQ技术交流群(183198395)。

AlgorithmParameterSpec是一个用于规范加密参数的接口。此接口不包含任何方法或常量。它仅用于将所有参数规范分组,并为其提供类型安全。所有参数规范都必须实现此接口。

IvParameterSpec是其一个已知实现类。但是IvParameterSpec是位于javax.crypto.spec.IvParameterSpec包下,类声明为:

public class IvParameterSpec extends Object implements AlgorithmParameterSpec
此类指定一个初始化向量 (IV)。使用 IV 的例子是反馈模式中的密码,如,CBC 模式中的 DES 和使用 OAEP 编码操作的 RSA 密码。
 
1、构造方法:
①public IvParameterSpec(byte[] iv)    使用 iv 中的字节作为 IV 来构造一个 IvParameterSpec 对象。
 

参数: iv - 具有 IV 的缓冲区。复制该缓冲区的内容来防止后续修改。

如果iv为null,则会抛出NullPointerException异常

 

②public IvParameterSpec(byte[] iv,int offset,int len) 使用 iv 中始于且包含 offset 的前 len 个字节作为 IV 来构造一个 IvParameterSpec 对象。组成 IV 的字节在 iv[offset]iv[offset+len-1] 范围内(包含两者)。

参数:iv - 具有 IV 的缓冲区。复制该缓冲区始于且包含 offset 的前 len 个字节来防止后续修改。

 

offset - iv 中的偏移量,IV 从此处开始。

len - IV 字节的数目。

抛出:IllegalArgumentException - 如果 ivnull 或者 (iv.length - offset < len)

 

ArrayIndexOutOfBoundsException - 如果 offsetlen 索引字节超出 iv 范围,则抛出该异常。

 

2、方法:

public byte[] getIV()    初始化向量 (IV)。每次调用此方法都返回一个新数组。
如下例:
 
byte[] DESIV = { 0x12, 0x34, 0x56, 0x78, (byte) 0x90, (byte) 0xAB, (byte) 0xCD, (byte) 0xEF };// 缓冲区 IvParameterSpec iv1 = new IvParameterSpec(DESIV);// 设置向量 IvParameterSpec iv2 = new IvParameterSpec(DESIV, 2, 5);// 设置向量 byte[] DESIV1 = iv1.getIV();//获取初始化向量 byte[] DESIV2 = iv2.getIV();//获取初始化向量

 

 

 

 
 

 

转载地址:http://ofvei.baihongyu.com/

你可能感兴趣的文章
从零开始学Hadoop----浅析HDFS(一)
查看>>
从零开始学Hadoop----浅析HDFS(二)
查看>>
从零开始学Hadoop----浅析HDFS(三)
查看>>
从零开始学Hadoop——浅析MapReduce(一)
查看>>
从零开始学Hadoop——浅析MapReduce(二)
查看>>
NoSql之初识HBase
查看>>
用索引来实现幂等
查看>>
大数据的仓库Hive学习(一)
查看>>
大数据的仓库Hive原理(二)
查看>>
大数据的仓库Hive原理(三)
查看>>
MyBatis的优化注意点
查看>>
String.format参加字符串拼接大比拼
查看>>
如何使用才能让缓存更高效
查看>>
MySQL提升效率之limit
查看>>
死锁剖析
查看>>
抽丝剥茧Reactor模式
查看>>
多线程——同步-异步-阻塞-非阻塞
查看>>
多线程——临界区-锁
查看>>
多线程——java线程池简介
查看>>
多线程——Java线程池原理深入
查看>>