所有类


java.security
类 AlgorithmParameters

java.lang.Object
  继承者 java.security.AlgorithmParameters

public class AlgorithmParameters
   
   
   
   
   
extends Object

此类用作密码参数的不透明表示形式。

可以通过调用 getInstance 工厂方法(返回给定类的实例的静态方法)之一获取用于管理特定算法的参数的 AlgorithmParameters 对象。

可以使用以下两种方式请求此类实现:仅指定算法名,或者同时指定算法名和包 provider。

  • 如果仅指定算法名,则系统将确定在环境中是否存在可用的所请求算法的 AlgorithmParameters 实现,以及是否存在一个以上的实现和首选实现。
  • 如果同时指定了算法名和包 provider,则系统将确定在请求的包中是否存在实现;如果不存在,则抛出异常。

返回 AlgorithmParameters 对象后,必须使用适当的参数规范或参数编码通过调用 init 初始化该对象。

通过调用 getParameterSpec 可以从 AlgorithmParameters 对象获取透明参数规范,通过调用 getEncoded 获取参数的字节编码。

从以下版本开始:
1.2
另请参见:
AlgorithmParameterSpec, DSAParameterSpec, KeyPairGenerator

构造方法摘要
protected AlgorithmParameters(AlgorithmParametersSpi paramSpi, Provider provider, String algorithm)
          创建一个 AlgorithmParameters 对象。
 
方法摘要
 String getAlgorithm()
          返回与此参数对象关联的算法的名称。
 byte[] getEncoded()
          返回基本编码格式的参数。
 byte[] getEncoded(String format)
          返回以指定方案编码的参数。
static AlgorithmParameters getInstance(String algorithm)
          生成指定算法的参数对象。
static AlgorithmParameters getInstance(String algorithm, Provider provider)
          如果可以从指定的 provider 中得到相关的算法,则为指定的算法(该 provider 提供)生成一个参数对象。
static AlgorithmParameters getInstance(String algorithm, String provider)
          如果可以从指定的 provider 中得到相关的算法,则为指定的算法(该 provider 提供)生成一个参数对象。
<T extends AlgorithmParameterSpec>
T
getParameterSpec(Class<T> paramSpec)
          返回此参数对象的(透明)规范。
 Provider getProvider()
          返回此参数对象的 provider。
 void init(AlgorithmParameterSpec paramSpec)
          使用在 paramSpec 中指定的参数初始化此参数对象。
 void init(byte[] params)
          根据参数的基本解码格式导入指定的参数并对其解码。
 void init(byte[] params, String format)
          根据指定的解码方案从 params 导入参数并对其解码。
 String toString()
          返回描述参数的格式化字符串。
 
从类 java.lang.Object 继承的方法
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

构造方法详细信息

AlgorithmParameters

protected AlgorithmParameters(AlgorithmParametersSpi paramSpi,
                              Provider provider,
                              String algorithm)
创建一个 AlgorithmParameters 对象。

参数:
paramSpi - 委托
provider - provider
algorithm - 算法
方法详细信息

getAlgorithm

public final String getAlgorithm()
返回与此参数对象关联的算法的名称。

返回:
算法名称。

getInstance

public static AlgorithmParameters getInstance(String algorithm)
                                       throws NoSuchAlgorithmException
生成指定算法的参数对象。

如果默认的 provider 包提供所请求算法的实现,则返回包含该实现的 AlgorithmParameters 的实例。如果在默认包中不存在该算法,则搜索其他包。

必须使用适当参数规范或参数编码通过调用 init 初始化返回的参数对象。

参数:
algorithm - 所请求算法的名称。
返回:
新的参数对象。
抛出:
NoSuchAlgorithmException - 如果算法在环境中不可用。

getInstance

public static AlgorithmParameters getInstance(String algorithm,
                                              String provider)
                                       throws NoSuchAlgorithmException,
                                              NoSuchProviderException
如果可以从指定的 provider 中得到相关的算法,则为指定的算法(该 provider 提供)生成一个参数对象。

必须使用适当参数规范或参数编码通过调用 init 初始化返回的参数对象。

参数:
algorithm - 所请求算法的名称。
provider - provider 的名称。
返回:
新的参数对象。
抛出:
NoSuchAlgorithmException - 如果请求的 provider 提供的包中不存在该算法。
NoSuchProviderException - 如果 provider 在环境中不可用。
IllegalArgumentException - 如果 provider 的名称为 null 或空。
另请参见:
Provider

getInstance

public static AlgorithmParameters getInstance(String algorithm,
                                              Provider provider)
                                       throws NoSuchAlgorithmException
如果可以从指定的 provider 中得到相关的算法,则为指定的算法(该 provider 提供)生成一个参数对象。注:不必注册 provider

必须使用适当参数规范或参数编码通过调用 init 初始化返回的参数对象。

参数:
algorithm - 所请求算法的名称。
provider - provider 的名称。
返回:
新的参数对象。
抛出:
NoSuchAlgorithmException - 如果请求的 provider 提供的包中不存在该算法。
IllegalArgumentException - 如果 provider 为 null。
从以下版本开始:
1.4
另请参见:
Provider

getProvider

public final Provider getProvider()
返回此参数对象的 provider。

返回:
此参数对象的 provider。

init

public final void init(AlgorithmParameterSpec paramSpec)
                throws InvalidParameterSpecException
使用在 paramSpec 中指定的参数初始化此参数对象。

参数:
paramSpec - 参数规范。
抛出:
InvalidParameterSpecException - 如果给定的参数规范不适用于初始化此参数对象,或者已经初始化此参数对象。

init

public final void init(byte[] params)
                throws IOException
根据参数的基本解码格式导入指定的参数并对其解码。如果此参数类型的 ASN.1 规范存在,则参数的基本解码格式即为 ASN.1。

参数:
params - 编码的参数。
抛出:
IOException - 如果发生解码错误,或者已经初始化此参数对象。

微信小程序

微信扫一扫体验

微信公众账号

微信扫一扫加关注

发表
评论
返回
顶部