KeyGenerator 类
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
此类提供机密 (对称) 密钥生成器的功能。
[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
- 继承
- 属性
注解
此类提供机密 (对称) 密钥生成器的功能。
密钥生成器是使用此类的类方法之 getInstance
一构造的。
KeyGenerator 对象是可重用的,即生成密钥后,可以重复使用同一个 KeyGenerator 对象来生成更多密钥。
有两种方法可以生成密钥:以独立于算法的方式生成密钥,以及以特定于算法的方式生成密钥。 两者之间的唯一区别是 对象的初始化:
<ul><li><b>算法独立初始化</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>
如果客户端未通过调用 init
方法) 显式初始化 KeyGenerator (,则每个提供程序都必须提供 (和文档) 默认初始化。
Android 提供以下KeyGenerator
算法:<table<>thead><tr<>th>Algorithm</th>><supported API Levels</th<>/tr></thead><tbody<>tr<>td>AES</td<>td td>1+</td></tr<>class=“deprecated”><td>AESWRAP</td><td>1-8</td<>/tr<>tr><td>ARC4</td><td>14+</td></tr<><>td>BLOWFISH</td<>td td>10+</td<>/tr><><td>ChaCha20</td><td>28+</td<>/tr><<>td>DES</td<>td>1+</td<>/tr<>tr><td>DESede</td><td>1+</td/><tr>tr class=“deprecated”><td>DESedeWRAP</td><td>1-8</td></tr<>><td>HmacMD5</td<>td>1+</td<>/tr>><<td>HmacSHA1</td><td>11+</td<>/tr><tr<>td>HmacSHA224</td><td td>1-8,22+</td<></tr><td<>>HmacSHA256</td<>td>1+</td<>/tr<<>>td>HmacSHA384</td td><td>1+</td<>/tr<<>>td>HmacSHA512</td><td td>1+</td<>/tr<>class=“deprecated”<>td>RC4</td><td td>10-13</Td></tr></tbody></table>
Java Cryptography Architecture Standard Algorithm Name 文档的 KeyGenerator 部分 介绍了这些算法。
在 1.4 中添加。
的 javax.crypto.KeyGenerator
Java 文档。
此页面的某些部分是基于 创建和共享的工作进行的修改,并根据 署名许可中所述的条款使用。
构造函数
KeyGenerator(IntPtr, JniHandleOwnership) |
创建 JNI 对象的托管表示形式时使用的构造函数;由运行时调用。 |
KeyGenerator(KeyGeneratorSpi, Provider, String) |
创建 KeyGenerator 对象。 |
属性
Algorithm |
返回此 |
Class |
返回此 |
Handle |
基础 Android 实例的句柄。 (继承自 Object) |
JniIdentityHashCode |
此类提供机密 (对称) 密钥生成器的功能。 (继承自 Object) |
JniPeerMembers |
此类提供机密 (对称) 密钥生成器的功能。 |
PeerReference |
此类提供机密 (对称) 密钥生成器的功能。 (继承自 Object) |
Provider |
返回此 |
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) |
返回一个 |
GetInstance(String, Provider) |
返回一个 |
GetInstance(String, String) |
返回一个 |
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) |
此类提供机密 (对称) 密钥生成器的功能。 |