KeyGenerator 类

定义

此类提供机密(对称)密钥生成器的功能。

[Android.Runtime.Register("javax/crypto/KeyGenerator", DoNotGenerateAcw=true)]
public class KeyGenerator : Java.Lang.Object
[<Android.Runtime.Register("javax/crypto/KeyGenerator", DoNotGenerateAcw=true)>]
type KeyGenerator = class
    inherit Object
继承
KeyGenerator
属性

注解

此类提供机密(对称)密钥生成器的功能。

密钥生成器是使用此类的类方法之 getInstance 一构造的。

KeyGenerator 对象是可重用的,即在生成密钥后,可以使用同一 KeyGenerator 对象来生成进一步的密钥。

有两种方法可以生成密钥:以独立于算法的方式和特定于算法的方式生成密钥。 两者之间的唯一区别是对象的初始化:

<ul><li><b>Algorithm-Independent Initialization</b>

所有密钥生成器都共享键化的概念随机性源。 此 KeyGenerator 类中有一种方法 #init(int, java.security.SecureRandom) init 采用这两种通用共享类型的参数。 还有一个仅采用参数 keysize ,并使用最高优先级安装的提供程序的 SecureRandom 实现作为随机性源(或者如果任何已安装提供程序都不提供 SecureRandom 实现的系统提供的随机源),而只采用随机性源。

由于在调用上述独立于 init 算法的方法时没有指定其他参数,因此由提供程序对算法特定的参数(如果有)执行的操作与每个键相关联。

<li><b>算法特定的初始化</b>

对于已存在一组特定于算法的参数的情况,有两 #init(java.security.spec.AlgorithmParameterSpec) init 种方法 AlgorithmParameterSpec 具有参数。 其中一个也有一个参数,而另一个 SecureRandom 则使用最高优先级安装的提供程序的 SecureRandom 实现作为随机性源(如果已安装的提供程序都不提供 SecureRandom 实现),则使用系统提供的随机源。 </ul>

如果客户端未显式初始化 KeyGenerator(通过对方法的调用 init ),则每个提供程序必须提供默认初始化(和文档)。

Android 提供以下KeyGenerator算法:<表<>thead><tr<>th>Algorithm</th supported API Levels</>><th<>/tr<>/thead<>tbody<><>td>AES</td><td 1+</td>></><tr tr class=“deprecated”><td>AESWRAP</td><1-8</td/tr><<>td>><>ARC4</td><td>14+</td></tr>><<td>BLOWFISH</td<>td 10+</td>></tr<><>td>ChaCha20</td td>28+</><td></><<>tr td td>DES</>><td 1+</td></tr<>><td>DESede</td td td 1+</td/>><><tr tr><class=“deprecated”><td>DESedeWRAP</td><td>1-8</td></tr>><<tr td>HmacMD5</td td>1+/td<>/<<>>tr td>HmacSHA1</<>td td 11+<</td<>>/tr<>tr><td>HmacSHA224</td><td 1-8,22+</td><>></tr><tr><td>HmacSHA256</td td<>1+</td><>/tr><tr<>td>HmacSHA384</td><td>1+/td></tr>><<td>HmacSHA512</><td td 1+<</td<>>/tr<>tr class=“deprecated”<>td>RC4</td><>10-13</td></tr></tbody></table>

Java 加密体系结构标准算法名称文档的 KeyGenerator 部分介绍了这些算法。

在 1.4 中添加。

适用于 . 的 javax.crypto.KeyGeneratorJava 文档

本页的某些部分是根据 Android 开放源代码项目创建和共享的工作进行的修改,并根据 Creative Commons 2.5 属性许可证中所述的术语使用。

构造函数

KeyGenerator(IntPtr, JniHandleOwnership)

创建 JNI 对象的托管表示形式时使用的构造函数;由运行时调用。

KeyGenerator(KeyGeneratorSpi, Provider, String)

创建 KeyGenerator 对象。

属性

Algorithm

返回此 KeyGenerator 对象的算法名称。

Class

返回此 Object的运行时类。

(继承自 Object)
Handle

基础 Android 实例的句柄。

(继承自 Object)
JniIdentityHashCode

此类提供机密(对称)密钥生成器的功能。

(继承自 Object)
JniPeerMembers

此类提供机密(对称)密钥生成器的功能。

PeerReference

此类提供机密(对称)密钥生成器的功能。

(继承自 Object)
Provider

返回此 KeyGenerator 对象的提供程序。

ThresholdClass

此 API 支持 Mono for Android 基础结构,不打算直接从代码使用。

ThresholdType

此 API 支持 Mono for Android 基础结构,不打算直接从代码使用。

方法

Clone()

创建并返回此对象的副本。

(继承自 Object)
Dispose()

此类提供机密(对称)密钥生成器的功能。

(继承自 Object)
Dispose(Boolean)

此类提供机密(对称)密钥生成器的功能。

(继承自 Object)
Equals(Object)

指示其他对象是否“等于”此对象。

(继承自 Object)
GenerateKey()

生成密钥。

GetHashCode()

返回对象的哈希代码值。

(继承自 Object)
GetInstance(String)

返回一个 KeyGenerator 对象,该对象为指定的算法生成密钥。

GetInstance(String, Provider)

返回一个 KeyGenerator 对象,该对象为指定的算法生成密钥。

GetInstance(String, String)

返回一个 KeyGenerator 对象,该对象为指定的算法生成密钥。

Init(IAlgorithmParameterSpec)

使用指定的参数集初始化此密钥生成器。

Init(IAlgorithmParameterSpec, SecureRandom)

使用指定的参数集和用户提供的随机源初始化此密钥生成器。

Init(Int32)

为特定键化初始化此密钥生成器。

Init(Int32, SecureRandom)

使用用户提供的随机源初始化特定键化此密钥生成器。

Init(SecureRandom)

初始化此密钥生成器。

JavaFinalize()

当垃圾回收确定不再引用该对象时,由对象上的垃圾回收器调用。

(继承自 Object)
Notify()

唤醒正在等待此对象的监视器的单个线程。

(继承自 Object)
NotifyAll()

唤醒正在等待此对象的监视器的所有线程。

(继承自 Object)
SetHandle(IntPtr, JniHandleOwnership)

设置 Handle 属性。

(继承自 Object)
ToArray<T>()

此类提供机密(对称)密钥生成器的功能。

(继承自 Object)
ToString()

返回对象的字符串表示形式。

(继承自 Object)
UnregisterFromRuntime()

此类提供机密(对称)密钥生成器的功能。

(继承自 Object)
Wait()

使当前线程等待,直到唤醒它,通常是通过 em 通知/em> 或 <em>interrupted</em>。<><

(继承自 Object)
Wait(Int64)

使当前线程等待直到唤醒,通常是通过 <em>通知</em> 或 <em interrupted</em>>,或直到经过一定数量的实时。

(继承自 Object)
Wait(Int64, Int32)

使当前线程等待直到唤醒,通常是通过 <em>通知</em> 或 <em interrupted</em>>,或直到经过一定数量的实时。

(继承自 Object)

显式接口实现

IJavaPeerable.Disposed()

此类提供机密(对称)密钥生成器的功能。

(继承自 Object)
IJavaPeerable.DisposeUnlessReferenced()

此类提供机密(对称)密钥生成器的功能。

(继承自 Object)
IJavaPeerable.Finalized()

此类提供机密(对称)密钥生成器的功能。

(继承自 Object)
IJavaPeerable.JniManagedPeerState

此类提供机密(对称)密钥生成器的功能。

(继承自 Object)
IJavaPeerable.SetJniIdentityHashCode(Int32)

此类提供机密(对称)密钥生成器的功能。

(继承自 Object)
IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates)

此类提供机密(对称)密钥生成器的功能。

(继承自 Object)
IJavaPeerable.SetPeerReference(JniObjectReference)

此类提供机密(对称)密钥生成器的功能。

(继承自 Object)

扩展方法

JavaCast<TResult>(IJavaObject)

执行 Android 运行时检查的类型转换。

JavaCast<TResult>(IJavaObject)

此类提供机密(对称)密钥生成器的功能。

GetJniTypeName(IJavaPeerable)

此类提供机密(对称)密钥生成器的功能。

适用于