登錄檔

從基本概念開始,以下是登錄的非正式定義:

但是:

話雖如此,瞭解這個類別還是能夠幫助他們暫時使用 Tink,後續會很有幫助。

透過按鍵集控點呼叫 getPrimitive() 時會發生什麼事?會將您的呼叫轉送至 Registry1,其中包含使用具體方法建立金鑰和原始物件的物件,例如 AesGcm 金鑰或 ChunkedMac 執行個體。Registry 的工作是將呼叫轉送至正確的物件。這個做法只有在註冊物件時才有效,因此,請務必註冊要使用的基元。

但如果使用的程式庫已註冊所需的基本項目,該怎麼辦?

這正是問題所在。其中一個原因也包括註冊資料庫遭到移除的原因。在這種情況下,您的程式碼只有在程式庫作者決定不再註冊該原始物件之前,才能使用程式碼。此時,程式碼會中斷,原因卻不明顯且令人混淆。因此,請務必一律註冊使用的內容。舉例來說,如果您打算在 Java 程式碼中使用 MAC,則應在設定階段執行以下操作:

MacConfig.register()

這段程式碼可確保在必要位置註冊所有必要物件,讓您使用 MAC 原始物件。

這個問題還有一個方面。您的部分依附元件可能會註冊您實際不需要的項目,因此不想依附。這也是移除全域登錄是另一個原因。


  1. 屬性。針對類別和單例模式,我們同時使用的名稱是「Registry」,您可以交替使用。