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();//获取初始化向量

      

  • 相关阅读:
    android中Canvas使用drawBitmap绘制图片
    Java Metrics
    HDU 1051:Wooden Sticks
    APK ubuntu下 数字签名
    Qt计算器开发(二):信号槽实现数学表达式合法性检查
    session销毁
    C#多线程编程实例 螺纹与窗口交互
    POJ 1176 Party Lamps (DFS)
    Oracle 六闪回技术,flashback
    can&#39;t connect to mysql server on localhost &lt;10061&gt;
  • 原文地址:https://www.cnblogs.com/gojava/p/3523880.html
Copyright © 2011-2022 走看看