public class AlgorithmParameters
extends Object
java.lang.Object | |
↳ | java.security.AlgorithmParameters |
该类用作密码参数的不透明表示。
通过调用 getInstance
工厂方法之一(返回给定类的实例的静态方法),可以获得用于管理特定算法参数的 AlgorithmParameters
对象。
一旦获得了 AlgorithmParameters
对象,就必须使用适当的参数规范或参数编码,通过调用 init
来初始化它。
通过调用 getParameterSpec
从 AlgorithmParameters
对象获得透明参数说明,并通过调用 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+ |
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) 使用 |
final void |
init(byte[] params, String format) 根据指定的解码方案从 |
final String |
toString() 返回描述参数的格式化字符串。 |
Inherited methods |
|
---|---|
From class java.lang.Object
|
AlgorithmParameters (AlgorithmParametersSpi paramSpi, Provider provider, String algorithm)
创建一个AlgorithmParameters对象。
Parameters | |
---|---|
paramSpi |
AlgorithmParametersSpi : the delegate |
provider |
Provider : the provider |
algorithm |
String : the algorithm |
String getAlgorithm ()
返回与此参数对象关联的算法的名称。
Returns | |
---|---|
String |
the algorithm name. |
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. |
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. |
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. |
也可以看看:
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. |
也可以看看:
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. |
也可以看看:
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. |
Provider getProvider ()
返回此参数对象的提供者。
Returns | |
---|---|
Provider |
the provider of this parameter object |
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. |
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. |
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. |
String toString ()
返回描述参数的格式化字符串。
Returns | |
---|---|
String |
a formatted string describing the parameters, or null if this parameter object has not been initialized. |