java中的key接口解析。本站提示廣大學習愛好者:(java中的key接口解析)文章只能為提供參考,不一定能成為您想要的結果。以下是java中的key接口解析正文
該接話柄現了序列化,聲明為 public interface Key extends Serializable
Key 是一切密鑰的頂層接口。它界說了供一切密鑰對象同享的功效。一切的密鑰都具有三個特點:
①、算法
這是該密鑰的密鑰算法。密鑰算法平日是加密或纰謬稱操作算法(如 DSA 或 RSA),它們將和那些算法及相干的算法(例如 MD5 和 RSA,SHA-1 和 RSA、Raw DSA 等等)一路應用。用 getAlgorithm 辦法獲得密鑰算法的稱號。
②、編碼情勢
這是密鑰的內部編碼情勢,在 Java 虛擬機以外須要密鑰的尺度表現情勢時和將密鑰傳輸到其他某些部門時應用。密鑰依據尺度格局(如 X.509 SubjectPublicKeyInfo 或 PKCS#8)編碼,應用 getEncoded 辦法前往。注:ASN.1 類型 SubjectPublicKeyInfo 的語法界說以下:
SubjectPublicKeyInfo ::= SEQUENCE { algorithm AlgorithmIdentifier, subjectPublicKey BIT STRING }
AlgorithmIdentifier ::= SEQUENCE { algorithm OBJECT IDENTIFIER, parameters ANY DEFINED BY algorithm OPTIONAL }
③、格局
這是已編碼密鑰的格局的稱號。它由 getFormat 辦法前往。
密鑰平日經由過程密鑰生成器、證書或用來治理密鑰的各類 Identity 類來獲得。密鑰也能夠經由過程應用密鑰工場(請拜見 KeyFactory)從密鑰標准(基本密鑰資料的通明表現情勢)獲得。
密鑰應當應用 KeyRep 作為其序列化的表現情勢。留意,序列化的 Key 能夠包括不該該在弗成信賴的情況中顯示的敏感信息。有關更多信息,請拜見序列化標准的平安附錄。
1、字段:
static final long serialVersionUID 設置為指導與之前的類版本序列化兼容的類指紋。 2、辦法具體:
①String getAlgorithm() 前往此密鑰的尺度算法稱號。例如,"DSA" 指導此密鑰是一個 DSA 密鑰。
②String getFormat() 前往此密鑰的根本編碼格局,假如此密鑰不支撐編碼,則前往 null。假如存在此密鑰的 ASN.1 標准,則依據適合的 ASN.1 數據格局定名根本編碼格局。例如,公鑰的 ASN.1 數據格局稱號是 SubjectPublicKeyInfo(由 X.509 尺度界說);在這類情形下,前往的格局為 "X.509"。相似地,私鑰的 ASN.1 數據格局稱號是 PrivateKeyInfo(由 PKCS #8 尺度界說);在這類情形下,前往的格局為 "PKCS#8"。
③byte[] getEncoded() 前往根本編碼格局的密鑰,假如此密鑰不支撐編碼,則前往 null。