Most visited

Recently visited

Added in API level 1

AlgorithmParameters

public class AlgorithmParameters
extends Object

java.lang.Object
   ↳ java.security.AlgorithmParameters


该类用作密码参数的不透明表示。

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

一旦获得了 AlgorithmParameters对象,就必须使用适当的参数规范或参数编码,通过调用 init来初始化它。

通过调用 getParameterSpecAlgorithmParameters对象获得透明参数说明,并通过调用 getEncoded获取参数的字节编码。

Android提供了以下 AlgorithmParameters算法:

Name Supported (API Levels)
AES 1+
Blowfish 10+
DES 1+
DESede 1+
DH 1+
DSA 1+
GCM 22+
IES 1–8
OAEP 1+
PKCS12PBE 1+
PSS 1–8, 24+
These algorithms are described in the AlgorithmParameters section of the Java Cryptography Architecture Standard Algorithm Name Documentation.

也可以看看:

Summary

Protected constructors

AlgorithmParameters(AlgorithmParametersSpi paramSpi, Provider provider, String algorithm)

创建一个AlgorithmParameters对象。

Public methods

final String getAlgorithm()

返回与此参数对象关联的算法的名称。

final byte[] getEncoded(String format)

返回在指定方案中编码的参数。

final byte[] getEncoded()

以主编码格式返回参数。

static AlgorithmParameters getInstance(String algorithm)

返回指定算法的参数对象。

static AlgorithmParameters getInstance(String algorithm, String provider)

返回指定算法的参数对象。

static AlgorithmParameters getInstance(String algorithm, Provider provider)

返回指定算法的参数对象。

final <T extends AlgorithmParameterSpec> T getParameterSpec(Class<T> paramSpec)

返回此参数对象的(透明)规范。

final Provider getProvider()

返回此参数对象的提供者。

final void init(byte[] params)

导入指定的参数并根据参数的主要解码格式对它们进行解码。

final void init(AlgorithmParameterSpec paramSpec)

使用 paramSpec指定的参数初始化此参数对象。

final void init(byte[] params, String format)

根据指定的解码方案从 params导入参数并对它们进行解码。

final String toString()

返回描述参数的格式化字符串。

Inherited methods

From class java.lang.Object

Protected constructors

AlgorithmParameters

Added in API level 1
AlgorithmParameters (AlgorithmParametersSpi paramSpi, 
                Provider provider, 
                String algorithm)

创建一个AlgorithmParameters对象。

Parameters
paramSpi AlgorithmParametersSpi: the delegate
provider Provider: the provider
algorithm String: the algorithm

Public methods

getAlgorithm

Added in API level 1
String getAlgorithm ()

返回与此参数对象关联的算法的名称。

Returns
String the algorithm name.

getEncoded

Added in API level 1
byte[] getEncoded (String format)

返回在指定方案中编码的参数。 如果format为空,则使用参数的主要编码格式。 主要编码格式是ASN.1,如果这些参数的ASN.1规范存在。

Parameters
format String: the name of the encoding format.
Returns
byte[] the parameters encoded using the specified encoding scheme.
Throws
IOException on encoding errors, or if this parameter object has not been initialized.

getEncoded

Added in API level 1
byte[] getEncoded ()

以主编码格式返回参数。 如果存在这种类型的参数的ASN.1规范,则参数的主要编码格式是ASN.1。

Returns
byte[] the parameters encoded using their primary encoding format.
Throws
IOException on encoding errors, or if this parameter object has not been initialized.

getInstance

Added in API level 1
AlgorithmParameters getInstance (String algorithm)

返回指定算法的参数对象。

该方法遍历注册安全提供程序的列表,从最优先的提供程序开始。 返回一个新的AlgorithmParameters对象,它封装了来自支持指定算法的第一个Provider的AlgorithmParametersSpi实现。

请注意,可以通过 Security.getProviders()方法检索注册供应商列表。

返回的参数对象必须通过调用 init进行初始化,使用适当的参数说明或参数编码。

Parameters
algorithm String: the name of the algorithm requested. See the AlgorithmParameters section in the Java Cryptography Architecture Standard Algorithm Name Documentation for information about standard algorithm names.
Returns
AlgorithmParameters the new parameter object.
Throws
NoSuchAlgorithmException if no Provider supports an AlgorithmParametersSpi implementation for the specified algorithm.

也可以看看:

getInstance

Added in API level 1
AlgorithmParameters getInstance (String algorithm, 
                String provider)

返回指定算法的参数对象。

返回封装指定提供者的AlgorithmParametersSpi实现的新AlgorithmParameters对象。 指定的提供者必须在安全提供者列表中注册。

请注意,可以通过 Security.getProviders()方法检索注册供应商的列表。

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

Parameters
algorithm String: the name of the algorithm requested. See the AlgorithmParameters section in the Java Cryptography Architecture Standard Algorithm Name Documentation for information about standard algorithm names.
provider String: the name of the provider.
Returns
AlgorithmParameters the new parameter object.
Throws
NoSuchAlgorithmException if an AlgorithmParametersSpi implementation for the specified algorithm is not available from the specified provider.
NoSuchProviderException if the specified provider is not registered in the security provider list.
IllegalArgumentException if the provider name is null or empty.

也可以看看:

getInstance

Added in API level 1
AlgorithmParameters getInstance (String algorithm, 
                Provider provider)

返回指定算法的参数对象。

返回封装指定Provider对象的AlgorithmParametersSpi实现的新AlgorithmParameters对象。 请注意,指定的Provider对象不必在提供程序列表中注册。

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

Parameters
algorithm String: the name of the algorithm requested. See the AlgorithmParameters section in the Java Cryptography Architecture Standard Algorithm Name Documentation for information about standard algorithm names.
provider Provider: the name of the provider.
Returns
AlgorithmParameters the new parameter object.
Throws
NoSuchAlgorithmException if an AlgorithmParameterGeneratorSpi implementation for the specified algorithm is not available from the specified Provider object.
IllegalArgumentException if the provider is null.

也可以看看:

getParameterSpec

Added in API level 1
T getParameterSpec (Class<T> paramSpec)

返回此参数对象的(透明)规范。 paramSpec标识了应该返回参数的规范类。 例如,它可以是DSAParameterSpec.class ,表示参数应该在DSAParameterSpec类的实例中返回。

Parameters
paramSpec Class: the specification class in which the parameters should be returned.
Returns
T the parameter specification.
Throws
InvalidParameterSpecException if the requested parameter specification is inappropriate for this parameter object, or if this parameter object has not been initialized.

getProvider

Added in API level 1
Provider getProvider ()

返回此参数对象的提供者。

Returns
Provider the provider of this parameter object

init

Added in API level 1
void init (byte[] params)

导入指定的参数并根据参数的主要解码格式对它们进行解码。 如果存在这种类型参数的ASN.1规范,则参数的主要解码格式为ASN.1。

Parameters
params byte: the encoded parameters.
Throws
IOException on decoding errors, or if this parameter object has already been initialized.

init

Added in API level 1
void init (AlgorithmParameterSpec paramSpec)

使用 paramSpec指定的参数初始化此参数对象。

Parameters
paramSpec AlgorithmParameterSpec: the parameter specification.
Throws
InvalidParameterSpecException if the given parameter specification is inappropriate for the initialization of this parameter object, or if this parameter object has already been initialized.

init

Added in API level 1
void init (byte[] params, 
                String format)

根据指定的解码方案从params导入参数并对它们进行解码。 如果format为空,则使用参数的主要解码格式。 如果存在这些参数的ASN.1规范,则主要解码格式为ASN.1。

Parameters
params byte: the encoded parameters.
format String: the name of the decoding scheme.
Throws
IOException on decoding errors, or if this parameter object has already been initialized.

toString

Added in API level 1
String toString ()

返回描述参数的格式化字符串。

Returns
String a formatted string describing the parameters, or null if this parameter object has not been initialized.

Hooray!