數字貨幣私鑰創建多個公鑰
A. 數字貨幣錢包功能簡介
庫神數字貨幣錢包保證用戶私鑰永不觸網。其核心功能就是在庫神錢包內離線構造交易過程並對交易進行數字簽名。
同時庫神用戶可以設置種子密碼和支付密碼來加強對庫神錢包的多重保護。
庫神數字貨幣錢包的分層確定性允許用戶單種子密碼管理多個比特幣地址。
庫神數字貨幣錢包方便易用,庫神用戶可以在錢包上設置手續費和多個目標的比特幣地址通訊錄,方便管理多賬戶數字資產。
庫神數字貨幣錢包僅有一個屏幕作為單輸出設備,也僅有一個攝像頭為單輸入設備。他通過二維碼通信與庫神聯網端APP進行通信操作。
B. 如何:創建一個公鑰/私鑰對
為了用強命名標識一個程序集,你必須擁有一對公鑰和私鑰。這一對公鑰私鑰加密密鑰用作編譯期間生成強命名的程序集(匯編程序).你可以使用強命名工具(Sn.exe)創建一個密鑰對.密鑰文件通常都具有一個.snk的文件擴展名。●創建一個密鑰對 在命令提示符下,鍵入以下命令: Sn –k <file name>在此命令中,<file name>是一個包含密鑰對的輸出文件的名字。以下例子是創建一個名叫sgKey.snk的密鑰對文件sn –k sgKey.snk如果你希望延遲標識程序集並且也希望控制整個密鑰對(它不像外部測試情景,場景),你可以用一下命令生成一對密鑰對,然後從此密鑰對中提取公鑰到一個單獨的文件。首先,創建密鑰對:sn –k keypair.snk然後,從上面生成的密鑰對文件(keypair.snk)中提取公鑰,並拷貝到一個獨立的文件中:sn –p keypair.snk public.snk一旦你創建了密鑰對,你就必須將此文件放置在強命名標識工具能夠找到它的位置。當運用強命名標識一個程序集的時候,程序集連接器(Assembly Linker (Al.exe))會尋找與當前目錄有關的密鑰文件,並輸出到當前目錄。在使用命令行工具編譯 的時候,也可以很容易的拷貝此密鑰到包含代碼模塊的的當前目錄下。
C. 數字貨幣錢包的分類
通俗來說區塊鏈錢包就是用來存儲數字貨幣的,實際上,區塊鏈錢包存儲的並不是數字貨幣,而是存儲密鑰(私鑰和公鑰)的工具,有了密鑰就可以擁有相應地址上的數字貨幣的支配權,利用區塊鏈錢包中生成的數字貨幣收款地址,可以接受他人給你轉賬的數字貨幣,也可以把你所擁有的數字貨幣轉賬給其他人
數字貨幣錢包的分類:
大體上可分為兩大類,熱錢包(在線錢包)和冷錢包(離線錢包)
一、熱錢包
熱錢包又稱在線錢包,包含輕錢包和重錢包(全節點錢包),需保持連網上線的錢包,可以直接進行交易操作。
1、輕錢包:
不儲存完整的區塊鏈,只保存和自已相關的數據。它的體積小,可以在手機、電腦、網頁等運行。
優缺點:不佔用內存、支持多種數字資產、用戶體驗好、新手上手快,但交易驗證稍慢
2、重錢包(全節點錢包)
維護著全部的區塊鏈數據,完全去中心化,同步所有數據。具有更好的隱私性、可以在本地驗證交易數據的有效性。
優缺點:具有更好的隱私性、驗證信息更快速,但每次使用都需要前需要同步數據,佔用很大的硬碟空間,不支持多種數字貨幣交易。
二、冷錢包
冷錢包就是不連網的錢包,也叫離線錢包;比如專業的硬體設備,或者將私鑰(助記詞)寫在紙上。
1、硬體錢包
硬體錢包即是用專業的硬體存儲數字貨幣,將數字資產私鑰單獨儲存在一個晶元中,與互聯網隔離,即插即用。
2、紙錢包
把私鑰寫在紙上存儲,再刪除
冷錢包的優缺點:
相對比較安全,但創建錢包和交易都非常麻煩,對於新手來說操作比較困難,錢包價格都相對昂貴,一般從幾千到上萬元不等。如果沒有太大額的數字資產,可以不用考慮
一般推薦新手使用輕錢包,輕錢包操作簡單易上手,個人使用過的極客錢包(geekwallet)
簡單便捷的輕錢包,支持比特幣(BTC)、萊特幣(LTC)、以太坊(ETH)、EOS、USDT等主流數字貨幣資產的存儲與管理。
採用BIP44助記詞、本地私鑰、離線簽名等安全機制,以及手機、電腦雙備份策略,徹底解決被黑客攻擊、感染病毒、手機丟失、遺忘助記詞等各種方式導致的數字貨幣資產丟失,為用戶提供線上多鏈數字資產一站式管理服務。平台還有跳騷市場,可以進行實物資產上鏈的代幣買賣。
D. 五大數字貨幣錢包有哪些
安貓錢包
安貓錢包是一款輕錢包,由杭州安貓區塊鏈科技有限公司研發,較全節點錢包而言節省了存儲空間。且是一款多幣種跨鏈錢包,支持的代幣有BTC,BCH,LTC,ETH,ETC,DASH以及ERC-20系列,是目前來說,幣種最全,真正意義上的全幣種數字貨幣錢包。
安貓錢包是唯一一款支持中文助記詞的數字貨幣錢包,由12個漢字組成,方便記憶,符合中國人的閱讀習慣。
安貓錢包最大的特點,則是很好地應用了輕錢包的可擴展性,在對多種數字資產管理的同時,內嵌DAPP列表,嵌入了安貓魚塘挖礦游戲,挖到的代幣直接存儲在錢包中,方便省力,趣味性強,可謂是一款會賺錢的錢包。
內嵌安貓區塊瀏覽器,每筆交易可利用交易地址、區塊高度、交易ID實時查詢,精準無誤。
還有行情、資訊DAPP,一款多功能的數字貨幣錢包。
不足:暫無交易功能。
imToken
imToken是一款支持ETH以及 ERC-20 代幣、比特幣HD 錢包以及隔離見證、EOS 以及 EOS 主網其他代幣的數字貨幣錢包,且一套助記詞可創建多個幣種的錢包賬戶,從而告別了繁復的備份管理,是一款多鏈錢包。
imToken支持數字貨幣的收發、以太系列的幣幣交易,藉助區塊鏈智能合約,無需信任第三方,直接在移動端完成幣幣兌換。代幣管理功能操作簡單,自動發現代幣,無需手動添加;支持一鍵搜索,可以輕松查看、管理多種代幣。
imToken私鑰自持,安全進一步保障。
不足:imToken只支持基於ETH主鏈的數字貨幣,像BTC、CTC這種自有公鏈的代幣不能存放。轉賬時只支持ETH作為手續費,存在一定局限性。
比特派
比特派錢包是由比太團隊研發的新一代區塊鏈資產綜合服務平台,立足於HD錢包技術、多重簽名和鏈上交易,可輕松安全使用數字貨幣,在比特派上輕松發送和接收比特幣。目前支持幣種主要有BTC、BTC分叉幣、ETH、部分ERC2.0代幣、QTUM、HSR、DASH及分叉幣SAFE、LTC及分叉幣LCH、ZEC、ETC、DOGE。
比特派支持多地址發幣,內置OTC及交易所(第三方服務),可以與世界各地用戶進行交易,比較適合交易頻繁和有場外交易需求的幣圈專業用戶使用。
安全性方面,用戶掌控私鑰,交易完成後,幣直接歸用戶自己保管。如果長時間不操作,比特派會自動上鎖,進一步提高了錢包的安全性。
不足:對於初始用戶,功能太多太復雜反而是一種累贅。他們只需簡單收發數字貨幣,太多復雜功能增加了用戶的學習時間成本,影響錢包用戶的體驗。
麥子錢包
麥子錢包是一款同時支持ETH系、NEO系、EOS系Token的數字錢包,內置人臉、聲紋、活體等多種生物識別技術,保障資產安全,這在目前的錢包中來說是獨一無二的。
麥子錢包支持幣安、火幣、GateIO、Okex等主流交易所介面,自動獲得持倉數據。
麥子錢包的UI設計在人機交互、界面邏輯、界面美觀對用戶都有不錯的體驗。首次操作就可知道功能性流程,以一種直觀的方式讓用戶明白如何與軟體交互,界面的設計有著麥子統一的風格。
不足:支持幣種較少,在應用模塊上,每個應用或者活動的板塊,都是一個手機屏幕的寬度,同屏最多顯示2.5個應用。雖然看上去很大方美觀,但要是找某個應用會比較繁瑣,需要不斷往下滑。
AToken
AToken是一款支持多幣種跨鏈互換的移動端錢包,具有安全便捷等特點。目前,支持BTC、LTC、ETH、ETC、DOGE、EOS等多個主鏈幣種;BCD、BTG、BCH、SBTC等多個分叉幣種;支持以太坊ERC20所有代幣。
用戶自持私鑰,私鑰多重加密存儲於APP,不以任何形式訪問伺服器,別人無法觸碰您的數字資產;錢包採用5層HD、橫向隔離、縱向防禦架構;應用PBKDF2、SHA-512等演算法加密技術。同時,AToken 實現了錢包的交易加速功能,支持比特幣和以太坊的交易加速。
不足:錢包內暫無行情資訊,用戶使用較為不便。
E. 像誠信幣這樣基於區塊鏈的數字貨幣中,私鑰,公鑰,地址到底是怎麼回事
很多小白剛入場時,就被私鑰,公鑰,地址,等等關系弄暈頭。有的甚至把自己私鑰搞丟了,地址上特別有錢,可偏偏就是取不出來,今天小白就把私鑰,公鑰,還有地址之間的關系跟大家捋一捋。
私鑰、公鑰和地址這三者的關系是:
私鑰轉換成(生成)公鑰,再轉換成地址,如果某個地址上有比特幣或誠信幣,就可以使用轉換成這個地址的私鑰花費上面的誠信幣。公鑰和地址的生成都依賴於私鑰,所以私鑰才最重要。
手機錢包也是同樣,但因為手機的文件管理方式不像計算機那麼方便。所以一般手機錢包會提供一個名為或類似「導出私鑰」的功能,通過這個功能,就可以將私鑰用各種形式導出來。
比如比特幣手機錢包可以導出為二維碼,可以列印或者掃描到紙上。更換手機時,裝好比特幣錢包掃描一下這個二維碼,就可以實現遷移比特幣。比特幣手機錢包和誠信幣手機錢包可以導出為一份明文字元串,列印到紙上——這就是紙錢包。
紙錢包讓用戶可以到任何有比特幣或誠信幣錢包的終端來花費你的比特幣或誠信幣。
由於錢包丟失或損壞會導致失去私鑰,從而徹底失去該數字貨幣的轉賬權。要防止出現這樣的悲劇,就要記得經常備份錢包里的數據。除了地址外,備份時也保存了所有的私鑰。
總結
私鑰要保護好,防止丟失,防止忘記,在手機清信息時方式被清除,最好手抄一份,但不要泄露。
要防止自己錢包丟失或損壞,導致丟失私鑰,喪失數字貨幣的轉賬權,否則你頓再多幣取不出來,還不是沒用。
F. 如何 mac 生成.ssh 公鑰和私鑰
1. 生成公鑰
首先檢查本機公鑰:
$ cd ——/.ssh
如果提示:No such file or directory 說明你是第一次使用git。如果不是第一次使用,請執行下面的操作,清理原有ssh密鑰。
$ mkdir key_backup$ cp id_rsa* key_backup$ rm id_rsa*
生成新的密鑰:
$ ssh-keygen -t rsa -C 「您的郵箱地址」
在回車中會提示你輸入一個密碼,這個密碼會在你提交項目時使用,如果為空的話提交項目時則不用輸入。
您可以在你本機系統盤下,您的用戶文件夾里發現一個。ssh文件,其中的id_rsa.pub文件里儲存的即為剛剛生成的ssh密鑰。
2. 添加公鑰
登錄CODE平台,進入用戶「賬戶設置」,點擊右側欄的「ssh公鑰管理」,點擊「添加公鑰」,將剛剛生成的公鑰填寫到「公鑰」欄,並為它起一個名稱,保存即可。
注意:復制公鑰時不要復制多餘的空格,否則可能添加不成功。
我碰到的一個項目:有些時候,需要在你生成的。ssh目錄下,新建個config文件,然後裡面寫入user xxx
3. 管理公鑰
您也可以在「賬戶設置」——「ssh公鑰管理」刪除或者修改公鑰。
G. 用Java編寫一個程序,生成公鑰和私鑰對
一:需要包含的包
import java.security.*;
import java.io.*;
import java.util.*;
import java.security.*;
import java.security.cert.*;
import sun.security.x509.*
import java.security.cert.Certificate;
import java.security.cert.CertificateFactory;
二:從文件中讀取證書
用keytool將.keystore中的證書寫入文件中,然後從該文件中讀取證書信息
CertificateFactory cf=CertificateFactory.getInstance("X.509");
FileInputStream in=new FileInputStream("out.csr");
Certificate c=cf.generateCertificate(in);
String s=c.toString();
三:從密鑰庫中直接讀取證書
String pass="123456";
FileInputStream in=new FileInputStream(".keystore");
KeyStore ks=KeyStore.getInstance("JKS");
ks.load(in,pass.toCharArray());
java.security.cert.Certificate c=ks.getCertificate(alias);//alias為條目的別名
四:JAVA程序中顯示證書指定信息
System.out.println("輸出證書信息:\n"+c.toString());
System.out.println("版本號:"+t.getVersion());
System.out.println("序列號:"+t.getSerialNumber().toString(16));
System.out.println("主體名:"+t.getSubjectDN());
System.out.println("簽發者:"+t.getIssuerDN());
System.out.println("有效期:"+t.getNotBefore());
System.out.println("簽名演算法:"+t.getSigAlgName());
byte [] sig=t.getSignature();//簽名值
PublicKey pk=t.getPublicKey();
byte [] pkenc=pk.getEncoded();
System.out.println("公鑰");
for(int i=0;i<pkenc.length;i++)System.out.print(pkenc[i]+",");
五:JAVA程序列出密鑰庫所有條目
String pass="123456";
FileInputStream in=new FileInputStream(".keystore");
KeyStore ks=KeyStore.getInstance("JKS");
ks.load(in,pass.toCharArray());
Enumeration e=ks.aliases();
while(e.hasMoreElements())
java.security.cert.Certificate c=ks.getCertificate((String)e.nextElement());
六:JAVA程序修改密鑰庫口令
String oldpass="123456";
String newpass="654321";
FileInputStream in=new FileInputStream(".keystore");
KeyStore ks=KeyStore.getInstance("JKS");
ks.load(in,oldpass.toCharArray());
in.close();
FileOutputStream output=new FileOutputStream(".keystore");
ks.store(output,newpass.toCharArray());
output.close();
七:JAVA程序修改密鑰庫條目的口令及添加條目
FileInputStream in=new FileInputStream(".keystore");
KeyStore ks=KeyStore.getInstance("JKS");
ks.load(in,storepass.toCharArray());
Certificate [] cchain=ks.getCertificate(alias);獲取別名對應條目的證書鏈
PrivateKey pk=(PrivateKey)ks.getKey(alias,oldkeypass.toCharArray());獲取別名對應條目的私鑰
ks.setKeyEntry(alias,pk,newkeypass.toCharArray(),cchain);向密鑰庫中添加條目
第一個參數指定所添加條目的別名,假如使用已存在別名將覆蓋已存在條目,使用新別名將增加一個新條目,第二個參數為條目的私鑰,第三個為設置的新口令,第四個為該私鑰的公鑰的證書鏈
FileOutputStream output=new FileOutputStream("another");
ks.store(output,storepass.toCharArray())將keystore對象內容寫入新文件
八:JAVA程序檢驗別名和刪除條目
FileInputStream in=new FileInputStream(".keystore");
KeyStore ks=KeyStore.getInstance("JKS");
ks.load(in,storepass.toCharArray());
ks.containsAlias("sage");檢驗條目是否在密鑰庫中,存在返回true
ks.deleteEntry("sage");刪除別名對應的條目
FileOutputStream output=new FileOutputStream(".keystore");
ks.store(output,storepass.toCharArray())將keystore對象內容寫入文件,條目刪除成功
九:JAVA程序簽發數字證書
(1)從密鑰庫中讀取CA的證書
FileInputStream in=new FileInputStream(".keystore");
KeyStore ks=KeyStore.getInstance("JKS");
ks.load(in,storepass.toCharArray());
java.security.cert.Certificate c1=ks.getCertificate("caroot");
(2)從密鑰庫中讀取CA的私鑰
PrivateKey caprk=(PrivateKey)ks.getKey(alias,cakeypass.toCharArray());
(3)從CA的證書中提取簽發者的信息
byte[] encod1=c1.getEncoded(); 提取CA證書的編碼
X509CertImpl cimp1=new X509CertImpl(encod1); 用該編碼創建X509CertImpl類型對象
X509CertInfo cinfo1=(X509CertInfo)cimp1.get(X509CertImpl.NAME+"."+X509CertImpl.INFO); 獲取X509CertInfo對象
X500Name issuer=(X500Name)cinfo1.get(X509CertInfo.SUBJECT+"."+CertificateIssuerName.DN_NAME); 獲取X509Name類型的簽發者信息
(4)獲取待簽發的證書
CertificateFactory cf=CertificateFactory.getInstance("X.509");
FileInputStream in2=new FileInputStream("user.csr");
java.security.cert.Certificate c2=cf.generateCertificate(in);
(5)從待簽發的證書中提取證書信息
byte [] encod2=c2.getEncoded();
X509CertImpl cimp2=new X509CertImpl(encod2); 用該編碼創建X509CertImpl類型對象
X509CertInfo cinfo2=(X509CertInfo)cimp2.get(X509CertImpl.NAME+"."+X509CertImpl.INFO); 獲取X509CertInfo對象
(6)設置新證書有效期
Date begindate=new Date(); 獲取當前時間
Date enddate=new Date(begindate.getTime()+3000*24*60*60*1000L); 有效期為3000天
CertificateValidity cv=new CertificateValidity(begindate,enddate); 創建對象
cinfo2.set(X509CertInfo.VALIDITY,cv); 設置有效期
(7)設置新證書序列號
int sn=(int)(begindate.getTime()/1000); 以當前時間為序列號
CertificateSerialNumber csn=new CertificateSerialNumber(sn);
cinfo2.set(X509CertInfo.SERIAL_NUMBER,csn);
(8)設置新證書簽發者
cinfo2.set(X509CertInfo.ISSUER+"."+CertificateIssuerName.DN_NAME,issuer);應用第三步的結果
(9)設置新證書簽名演算法信息
AlgorithmId algorithm=new AlgorithmId(AlgorithmId.md5WithRSAEncryption_oid);
cinfo2.set(CertificateAlgorithmId.NAME+"."+CertificateAlgorithmId.ALGORITHM,algorithm);
(10)創建證書並使用CA的私鑰對其簽名
X509CertImpl newcert=new X509CertImpl(cinfo2);
newcert.sign(caprk,"MD5WithRSA"); 使用CA私鑰對其簽名
(11)將新證書寫入密鑰庫
ks.setCertificateEntry("lf_signed",newcert);
FileOutputStream out=new FileOutputStream("newstore");
ks.store(out,"newpass".toCharArray()); 這里是寫入了新的密鑰庫,也可以使用第七條來增加條目
十:數字證書的檢驗
(1)驗證證書的有效期
(a)獲取X509Certificate類型對象
CertificateFactory cf=CertificateFactory.getInstance("X.509");
FileInputStream in1=new FileInputStream("aa.crt");
java.security.cert.Certificate c1=cf.generateCertificate(in1);
X509Certificate t=(X509Certificate)c1;
in2.close();
(b)獲取日期
Date TimeNow=new Date();
(c)檢驗有效性
try{
t.checkValidity(TimeNow);
System.out.println("OK");
}catch(CertificateExpiredException e){ //過期
System.out.println("Expired");
System.out.println(e.getMessage());
}catch(( e){ //尚未生效
System.out.println("Too early");
System.out.println(e.getMessage());}
(2)驗證證書簽名的有效性
(a)獲取CA證書
CertificateFactory cf=CertificateFactory.getInstance("X.509");
FileInputStream in2=new FileInputStream("caroot.crt");
java.security.cert.Certificate cac=cf.generateCertificate(in2);
in2.close();
(c)獲取CA的公鑰
PublicKey pbk=cac.getPublicKey();
(b)獲取待檢驗的證書(上步已經獲取了,就是C1)
(c)檢驗證書
boolean pass=false;
try{
c1.verify(pbk);
pass=true;
}catch(Exception e){
pass=false;
System.out.println(e);
}
H. 數字貨幣還在做嗎
比特幣的發行是根據區塊高度來規定的,也就是距離創世第0號區塊,現在挖到了第幾號,比特幣的總量上限就應該是多少。過了這個村就沒這個店,如果礦工挖到一個區塊,卻沒有領取這個區塊的獎勵,那這些比特幣就等於被永久銷毀了。
coinbase交易就是「憑空」生成比特幣的特殊交易,只有礦工可以寫這種交易,生成比特幣的數量受到規則限制(每21萬個區塊減半一次的新幣+本區塊的交易手續費)。
但是,規則並沒有規定礦工必須頂格把所有能拿走的獎勵全部拿走,可以選擇不拿。
所以,以前就發生過一個對接了RSK側鏈的礦池搞出bug,忘記領走獎勵的情況,白白佔了一個區塊的坑,等同於銷毀了對應數額的比特幣,讓比特幣總量永久性地減小了一點點。
另外,要花掉一筆比特幣,只需要指定交易ID和輸出序號。
如果礦工在多個區塊重復寫入了一模一樣的多筆coinbase交易,交易ID當然也是重復的,比特幣軟體處理這種情況時,只以第一次為准。
所以這種情況也是白白佔了一個區塊的坑,永久銷毀了對應數額的比特幣。
我印象里這好像還是個安全漏洞,所以後來的新版比特幣軟體把這種寫入重復coinbase交易的行為也禁止了。但是一直到現在也沒有禁止礦工不領取自己應得的獎勵。
一般來說,幣是私鑰控制的,把幣轉到任何人都不知道私鑰的地址上,就等於被銷毀了。
如果主人的安全工作做得很好,私鑰沒有泄露、也不可被猜解,但是他自己不慎弄丟了私鑰,那就等於把他擁有的所有幣銷毀了。
只有一些特殊的情況需要有意銷毀幣。
一是不可逆地兌換成另一種幣,比如依附於比特幣的合約幣XCP,還有依附於BCH的蟲洞現金WHC,就是這種情況。
二是為了存證、在鏈上保存數據,比如時間戳:panbiao.com/2013/08/
以及當初以太坊創始團隊的眾籌:zhuanlan.hu.com/p/29
私鑰本質上就是一個很大的數字,誰知道這個數字,誰就可以控制對應地址上的幣。所以私鑰一定要用靠譜的隨機數生成,否則就可能被猜解、盜幣。
對比特幣來說,地址是公鑰的哈希,沒辦法判斷一個地址到底有沒有對應的公鑰和私鑰(即使知道公鑰也無法知道對應的私鑰),所以即使明擺著是「燒毀」幣的地址,系統也不禁止轉入。
嚴格來說,鎖住幣的是一小段程序(腳本),這段程序就是把輸入當做公鑰和數字簽名,先檢查公鑰哈希是否一致,再檢查數字簽名是否有效,有效就驗證通過,允許轉賬;否則就判斷交易非法、拒絕打包進鏈。
解釋、執行這段程序的就是全節點軟體。可以說是全節點的軟體代碼具體定義了一個幣。
不過現在的狀況很尷尬,絕大多數礦工都不跑全節點,只有少數幾個礦池在跑。絕大多數用戶也不跑全節點,即使是跑了全節點,也只能執行驗證,沒有算力、不能出塊。
I. 如何:創建一個公鑰/私鑰對
了用強命名標識一個程序集,你必須擁有一對公鑰和私鑰。這一對公鑰私鑰加密密鑰用作編譯期間生成強命名的程序集(匯編程序).你可以使用強命名工具(Sn.exe)創建一個密鑰對.密鑰文件通常都具有一個.snk的文件擴展名。
●創建一個密鑰對
在命令提示符下,鍵入以下命令:
Sn –k <file name
在此命令中,<file name是一個包含密鑰對的輸出文件的名字。
以下例子是創建一個名叫sgKey.snk的密鑰對文件
sn –k sgKey.snk
如果你希望延遲標識程序集並且也希望控制整個密鑰對(它不像外部測試情景,場景),你可以用一下命令生成一對密鑰對,然後從此密鑰對中提取公鑰到一個單獨的文件。
首先,創建密鑰對:
sn –k keypair.snk
然後,從上面生成的密鑰對文件(keypair.snk)中提取公鑰,並拷貝到一個獨立的文件中:
sn –p keypair.snk public.snk
一旦你創建了密鑰對,你就必須將此文件放置在強命名標識工具能夠找到它的位置。
當運用強命名標識一個程序集的時候,程序集連接器(Assembly Linker (Al.exe))會尋找與當前目錄有關的密鑰文件,並輸出到當前目錄。在使用命令行工具編譯 的時候,也可以很容易的拷貝此密鑰到包含代碼模塊的的當前目錄下。
J. 私鑰和數字貨幣資產在哪裡儲存
HiCoin錢包的私鑰是存放在用戶自己手上,平台不能操控,並且還有智能檢測功能,具有安全風險超前預警,基本上錢就在自己的掌控之下。