「地址、密碼、私鑰、助記詞、Keystore 」釋義及生成KeyStore
隨著國內區塊鏈交易平臺的逐步關閉,區塊鏈資產錢包的使用會越來越頻繁和重要(錢包的選擇和使用可參考“不知道你的幣該存哪?手把手的錢包系列教程來了!”及「續」不知道你的幣該存哪?手把手的錢包系列教程來了!)。 國內最好的以太系錢包當屬 imToken,在使用錢包時,有幾個名詞必須深刻理解,不然就有可能造成區塊鏈資產的損失,這幾個名詞為地址、密碼、私鑰、助記詞、keystore。 若以銀行賬戶為類比,這 5 個詞分別對應內容如下:
一、地址 地址=銀行卡號
1.生成 建立錢包後會生成一個以 0x 開頭的 42 位字串,這個字串就是錢包地址,一個錢包對應一個錢包地址,地址唯一且不能修改,也就是說一個錢包中所有代幣的轉賬收款地址都是一樣的。例如,一個錢包中 ETH 的轉賬收款地址和 EOS 的轉賬收款地址是一樣。這一點和交易平臺上的不一樣,平臺上不同代幣的轉賬收款地址一般都不同,因此,轉幣到交易平臺前一定要確認好地址。
2.用途 錢包地址可以用於接收別人轉幣,也可以作為轉幣的憑證。
二、密碼 密碼=銀行卡密碼
1.設定 在建立錢包時,需要設定一個密碼,這個密碼要求不少於 8 個字元,為了安全,密碼最好設定複雜一點。密碼可以進行修改或重置,修改密碼有兩種方法,一是直接修改密碼,這需要輸入原密碼。如果原密碼忘記了,用助記詞或私鑰匯入錢包,同時設定新密碼。
2.用途 密碼的用途有兩個,一是轉賬時候的支付密碼,二是用 keystore 匯入錢包時的登入密碼。 3.特徵 在現實世界中,一個銀行卡只對應一個密碼,對密碼修改後,原密碼就失去作用。但是在 imToken 錢包中,就不一樣了,一個錢包在不同手機上可以用不同的密碼,彼此相互獨立,互不影響。例如,在 A 手機錢包中設定了一個密碼,在 B 手機匯入這個錢包並設定一個新密碼,並不影響 A 手機錢包的密碼使用。
三、私鑰 私鑰=銀行卡號+銀行卡密碼
1.匯出 建立錢包後,輸入密碼可以匯出私鑰,這個私鑰屬於明文私鑰,由 64 位字串組成,一個錢包只有一個私鑰且不能修改。
2.用途 在匯入錢包中,輸入私鑰並設定一個密碼(不用輸入原密碼),就能進入錢包並擁有這個錢包的掌控權,就可以把錢包中的代幣轉移走。
四、助記詞 助記詞=銀行卡號+銀行卡密碼 助記詞=私鑰
1.備份 建立錢包後,會出現一個備份助記詞功能,選擇備份助記詞,輸入密碼,會出現 12 個單詞,每個單詞之間有一個空格,這個就是助記詞,一個錢包只有一個助記詞且不能修改。
2.用途 助記詞是私鑰的另一種表現形式,具有和私鑰同樣的功能,在匯入錢包中,輸入助記詞並設定一個密碼(不用輸入原密碼),就能進入錢包並擁有這個錢包的掌控權,就可以把錢包中的代幣轉移走。
3.特徵 助記詞只能備份一次,備份後,在錢包中再也不會顯示,因此在備份時一定要抄寫下來。
五、keystore keystore+密碼=銀行卡號+銀行卡密碼 Keystore ≠ 銀行卡號 keystore=加密私鑰 keystore+密碼=私鑰
1.備份 錢包裡有一個備份 keystore 功能,選擇備份 keystore,輸入密碼,會出現一大段字元,這個就是 keystore。
2.用途 在匯入錢包中,選擇官方錢包,輸入 keystore 和密碼,就能進入錢包了。需要說明的是,這個密碼是本手機原來設定的本錢包密碼, 這一點和用私鑰或助記詞匯入錢包不一樣,用私鑰或助記詞匯入錢包,不需要知道原密碼,直接重置密碼。
3.特徵 keystore 屬於加密私鑰,和錢包密碼有很大關聯,錢包密碼修改後,keystore 也就相應變化,在用 keystore 匯入錢包時,需要輸入密碼,這個密碼是備份 keystore 時的錢包密碼,與後來密碼的修改無關。
六、結語 在現實世界中,如果你的銀行卡丟了,密碼忘了,可以去銀行幫你找回,你的錢還是你的錢,丟不了,這是中心化的優勢。 但是在區塊鏈世界中,除了你自己,沒有人儲存你的錢包資訊,錢包資訊要是丟了,沒人能夠幫你找回,錢包公司也不能。因此,只要你保護好錢包資訊,錢包裡面的財產只屬於你自己,誰也搶不走,這是去中心化的優勢。
1.忘記 你若把錢包資訊忘了,會有什麼後果呢?分這麼幾種情況:
從上可以看出,只要「私鑰、助記詞、Keystore+密碼」有一個資訊在,錢包就在。因此,備份好「私鑰、助記詞、Keystore+密碼」最關鍵。
2.洩露 自己備份好錢包資訊很重要,同時防止錢包資訊洩漏,也很重要。若把錢包資訊洩漏出去了,會有什麼後果呢?分這麼幾種情況:
從上可以看出,只要「私鑰、助記詞、Keystore+密碼」有一個資訊洩漏出去,別人就擁有了你錢包的控制權,你錢包中的幣就會被別人轉移走。因此,「私鑰、助記詞、Keystore+密碼」絕不能洩漏出去,一旦發現有洩漏的可能,就要立刻把裡面的幣轉移走。 3.備份 既然私鑰、助記詞、Keystore+密碼」如此重要,那麼如何進行儲存呢,最安全的方法就是:
由於 Keystore 內容較多,手抄不方便,儲存在電腦上也不安全,因此可以不對 Keystore 進行備份,隻手抄私鑰、助記詞就足夠了,手抄備份要注意以下幾點:
|
cmd下:
進入到jdk的bin目錄,這樣的話,android.keystore檔案就會生成在這個目錄下,簽名的時候我們需要這個檔案。
C:\Program Files\Java\jdk1.7.0_01\bin>
keytool -genkey -alias android.keystore -keyalg RSA -validity 20000 -keystore my.keystore
-alias my.keystore #生成的keystore別名
-keyalg RSA #加密和數字簽名的演算法
-validity 1000 #有效天數
這裡的 JAVA SDK 1.5 和 1.6 都可以,找到自己的 JAVA 目錄就可以了。
輸入keystore密碼:自己確定,輸入密碼時,沒有顯示,但已經輸進去了!
再次輸入新密碼:
您的名字與姓氏是什麼?
[Unknown]:aerchi
您的組織單位名稱是什麼?
[Unknown]:aerchi
您的組織名稱是什麼?
[Unknown]: aerchi
您所在的城市或區域名稱是什麼?
[Unknown]: KM
您所在的州或省份名稱是什麼?
[Unknown]: YN
該單位的兩字母國家程式碼是什麼
[Unknown]: CN
CN=Mickle, OU=www.ioou.com, O=www.ioou.com, L=Shanghai, ST=Shanghai, C=CN 正確嗎?
[否]: Y
輸入<my.keystore>的主密碼(如果和 keystore 密碼相同,按回車):
如果沒有錯誤則回去java的jdk 的bin目錄檢視是否多了一個叫做my.keystore的檔案