Share via


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) initAlgorithmParameterSpec 方法具有引數。 其中一個也具有引數,而另一個 SecureRandom 則使用最高優先順序安裝提供者的 SecureRandom 實作作為隨機性來源 (,如果沒有已安裝的提供者提供 SecureRandom 實作) ,則會使用系統提供的隨機性來源。 </ul>

如果用戶端未透過呼叫 init 方法) 明確初始化 KeyGenerator (,則每個提供者都必須提供 (和檔) 預設初始化。

Android 提供下列 KeyGenerator 演算法: < 資料表 ><><<>>< 支援的 API 層級 ><< /th <>> /th/tr >< /thead <> tbody <> tr <> td > AES < /td td ><> 1+ < /td/td >< /tr >< tr class=「deprecated」 >>< td AESWRAP < /td <>> td 1-8 < /td/tr ><>< td ><>ARC4 < /td >< td > 14+/td/tr tr ><<> td > Td Td <<>><> 10+ << /td <> / ><><> tr td ChaCha20 < /td td ><> 28+ < /td >< / >>><< tr td DES < /td td 1+/td <><>> /tr ><><> td DESede < /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/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 1+ < /td/td >< /tr tr >< class=「deprecated」 >>< td RC4 < /td td ><> 10-13</Td ></tr >< /tbody >< /table>

這些演算法會在 JAVA 密碼編譯架構標準演算法名稱檔的 KeyGenerator 一節 中說明。

已在 1.4 中新增。

javax.crypto.KeyGenerator JAVA 檔。

此頁面的部分是根據 原始碼專案所建立和共用的工作進行修改,並根據中所述的詞彙使用。

建構函式

KeyGenerator(IntPtr, JniHandleOwnership)

建立 JNI 物件的 Managed 標記法時所使用的建構函式;由執行時間呼叫。

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 > notified < /em > 或 < em > interrupted < /em > 來喚醒。

(繼承來源 Object)
Wait(Int64)

讓目前的執行緒等到喚醒為止,通常是 < 透過 em > notified < /em 或 em > interrupted < /em >> ,或 < 直到經過一定數量的即時為止。

(繼承來源 Object)
Wait(Int64, Int32)

讓目前的執行緒等到喚醒為止,通常是 < 透過 em > notified < /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)

這個類別提供秘密 (對稱) 金鑰產生器的功能。

適用於