共用方式為


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>

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

Android 提供下列KeyGenerator演演算法:<表<>thead<>tr<>th>Algorithm</th th supported API Levels</>><th></tr<>/thead<<>>tbody tr><td>AES/td><td>1+</td<>/tr tr><class=“deprecated”><td>AESWRAP<</td>><td 1-8</td></tr><><td>ARC4</td><td>14+</td></tr tr>>><<td Td<>>< 10+</<>td/><><>tr td ChaCha20</td<>>td 28+</<>td/tr><<>>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 tr td HmacMD5</td><>td 1+/<>td/tr><><>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<>>1+/><td/tr tr><><>td HmacSHA512</<>>td td 1+<</><td/tr<>tr class=“deprecated”><td>RC4</td td><>10-13</td></tr></tbody></table>

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

已在1.4中新增。

javax.crypto.KeyGeneratorJava 檔。

此頁面的部分是根據 Android 開放原始碼專案所建立和共用的工作進行修改,並根據 Creative Commons 2.5 屬性授權中所述的詞彙使用。

建構函式

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 支援適用於 Android 的 Mono 基礎結構,並不適合直接從您的程式代碼使用。

ThresholdType

此 API 支援適用於 Android 的 Mono 基礎結構,並不適合直接從您的程式代碼使用。

方法

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)

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

適用於