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 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.KeyGenerator
Java 檔。
此頁面的部分是根據 Android 開放原始碼專案所建立和共用的工作進行修改,並根據 Creative Commons 2.5 屬性授權中所述的詞彙使用。
建構函式
KeyGenerator(IntPtr, JniHandleOwnership) |
建立 JNI 物件的 Managed 表示法時使用的建構函式;由運行時間呼叫。 |
KeyGenerator(KeyGeneratorSpi, Provider, String) |
建立 KeyGenerator 物件。 |
屬性
Algorithm |
傳回這個 |
Class |
傳回這個 |
Handle |
基礎Android實例的句柄。 (繼承來源 Object) |
JniIdentityHashCode |
這個類別提供秘密 (對稱) 金鑰產生器的功能。 (繼承來源 Object) |
JniPeerMembers |
這個類別提供秘密 (對稱) 金鑰產生器的功能。 |
PeerReference |
這個類別提供秘密 (對稱) 金鑰產生器的功能。 (繼承來源 Object) |
Provider |
傳回這個 |
ThresholdClass |
此 API 支援適用於 Android 的 Mono 基礎結構,並不適合直接從您的程式代碼使用。 |
ThresholdType |
此 API 支援適用於 Android 的 Mono 基礎結構,並不適合直接從您的程式代碼使用。 |
方法
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 <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) |
這個類別提供秘密 (對稱) 金鑰產生器的功能。 |