日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關咨詢
選擇下列產(chǎn)品馬上在線溝通
服務時間:8:30-17:00
你可能遇到了下面的問題
關閉右側工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
他是中本聰?為什么連簡單的消息簽名都不用?

 比特幣系統(tǒng)中可以給一串消息進行數(shù)字簽名,有三個作用:

成都創(chuàng)新互聯(lián)公司專業(yè)為企業(yè)提供岑溪網(wǎng)站建設、岑溪做網(wǎng)站、岑溪網(wǎng)站設計、岑溪網(wǎng)站制作等企業(yè)網(wǎng)站建設、網(wǎng)頁設計與制作、岑溪企業(yè)網(wǎng)站模板建站服務,十余年岑溪做網(wǎng)站經(jīng)驗,不只是建網(wǎng)站,更提供有價值的思路和整體網(wǎng)絡服務。

  • 證明你擁有某筆資金的私鑰
  • 該證明是無可爭辯的、不可抵賴的
  • 簽名后的交易沒有被其他人修改過

數(shù)字簽名使用橢圓曲線數(shù)字簽名算法(ECDSA),算法非常復雜,普通用戶不必掌握其算法的細節(jié),但你只要掌握了Bitcoin Core錢包軟件或類似工具,也可以非常輕松地生成簽名或驗證簽名。

生成簽名

在Bitcoin Core軟件的“文件”菜單下,點擊“消息簽名”菜單項,彈出一個對話框。分別填寫比特幣地址,消息文本,點擊“消息簽名”按鈕,則會在底部的簽名區(qū)出現(xiàn)一行文本,這段文本可以證明你擁有那個比特幣地址、那段消息是完整的、沒有被修改過一個字,這個證明誰都可以驗證、不可抵賴。

驗證簽名

在Bitcoin Core軟件的“文件”菜單下,點擊“驗證消息”菜單項,彈出一個對話框。分別填寫比特幣地址、消息文本、簽名文本,點擊“驗證消息簽名”按鈕,則會出現(xiàn)是否驗證成功的提示。

沒有安裝Bitcoin Core軟件也沒關系,很多網(wǎng)站都提供了驗證簽名的工具。比如:https://blockexplorer.com/messages/verify

再比如這個網(wǎng)站:

https://bitcotools.com/verify-messages

下面這個網(wǎng)址中列舉了幾十種簽名方法:

https://bitcointalk.org/index.php?topic=990345.0

截圖上文字顯示得不全,我的完整消息簽名是:

  • H0UP22YwxdZ0EyetmIoY72w/v1QGQiSk2vAf6jViHlw/DBC+76775pFqxGclbrkny4D40bVWe9nPLgl/MMWQyZs=

在NBitcoin 中進行消息簽名用2個函數(shù)就可以搞定,非常方便:

  • 生成簽名文本用 key.SignMessage(msg)
  • 驗證簽名用 addr.VerifyMessage(msg, sig)

就這樣簡單,完整源代碼:

 
 
 
 
  1. // 用私鑰給一個消息進行簽名 
  2. var msg = "我擁有這個地址的私鑰:17mKugcBDEJbu391Fq41AdwLeGHwJLPRDf"; 
  3. string priv = "3243F6A8885A308D313198A2E03707344A4093822299F31D0082EFA98EC4E6C8"; 
  4. Key k = new Key(Encoders.Hex.DecodeData(priv), -1, false); // 非壓縮密鑰 
  5. var sig = k.SignMessage(msg); 
  6. Console.WriteLine(sig); 
  7. // 結果: 
  8. // G2HBHn+ZmgTNtCnxMbgWf4nbXcTjB 
  9. // KFvy3am3UWcxdA0TD3MDdpqaZgEoY 
  10. // PsvbhR +OSZkR9hSp/rrO3nErlzBjY= 
  11.  
  12. // 驗證一個簽名 
  13. var addr = new BitcoinPubKeyAddress("17mKugcBDEJbu391Fq41AdwLeGHwJLPRDf"); 
  14. Console.WriteLine(addr.VerifyMessage(msg, sig)); 
  15.  
  16. // 驗證我以前用Bitcoin Core做過的一個簽名 
  17. var addr2 = new BitcoinPubKeyAddress("12j75TnvVhEVxk3fiaPSy3w4FVfjsKbKZm"); 
  18. var msg2 = "申龍斌的程序人生"; 
  19. var sig2 = "H0UP22YwxdZ0EyetmIoY72w/v1QGQiSk2vAf6jViHlw/DBC+76775pFqxGclbrkny4D40bVWe9nPLgl/MMWQyZs="; 
  20. Console.WriteLine(addr2.VerifyMessage(msg2, sig2)); 

Craig Steven Wright(CSW)一直聲稱他就是中本聰,為什么不拿創(chuàng)世區(qū)塊中的比特幣地址(1A1zP1eP5QGefi2DMPTfTL5SLmv7DivfNa)對一段消息進行簽名?

看來澳本聰就是一個騙子。

【本文為專欄作者“申龍斌”的原創(chuàng)稿件,轉載可通過作者微信公眾號(申龍斌的程序人生)獲取聯(lián)系】

戳這里,看該作者更多好文


網(wǎng)站欄目:他是中本聰?為什么連簡單的消息簽名都不用?
網(wǎng)站地址:http://m.5511xx.com/article/codeejh.html