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>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.KeyGenerator
Java 文档
本页的某些部分是根据 Android 开放源代码项目创建和共享的工作进行的修改,并根据 Creative Commons 2.5 属性许可证中所述的术语使用。
构造函数
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) |
此类提供机密(对称)密钥生成器的功能。 |