zoukankan      html  css  js  c++  java
  • java中的AlgorithmParameterSpec接口

      -------------疯狂软件java培训分享-------------

      java中的AlgorithmParameterSpec接口及其IvParameterSpec实现类

      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 的缓冲区。广州java培训复制该缓冲区的内容来防止后续修改。如果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 - 如果 iv 为 null 或者 (iv.length - offset < len)

      ArrayIndexOutOfBoundsException - 如果 offset 或 len 索引字节超出 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();//获取初始化向量

      

  • 相关阅读:
    316 Remove Duplicate Letters 去除重复字母
    315 Count of Smaller Numbers After Self 计算右侧小于当前元素的个数
    313 Super Ugly Number 超级丑数
    312 Burst Balloons 戳气球
    309 Best Time to Buy and Sell Stock with Cooldown 买股票的最佳时间含冷冻期
    Java 类成员的初始化顺序
    JavaScript 全局
    HTML字符实体
    Java中的toString()方法
    JavaScript 弹窗
  • 原文地址:https://www.cnblogs.com/gojava/p/3523880.html
Copyright © 2011-2022 走看看