Private-Key
ECKey.ECDSA簽名創建
我有我的
ECKey key
. 為了ECDSASignature
使用 BitcoinJ 創建一個對象,我們必須呼叫ECDSASignature mySignature = key.sign(Sha256Hash input)
.是
Sha256Hash input
我的消息嗎?還是它的結果Sha256(byte[] myArray)
?如果我沒有要簽名的消息怎麼辦?是否可以接受簽名
key.getPrivKeyBytes()
以創建.ECDSASignature``getPrivKeyBytes()
如果這是不可接受的,我的資訊必須是什麼?我可以簽署任何我想要的東西來創建我的
ECDSASignature
嗎?
對私鑰的字節進行簽名
ECKey key
是不可接受的,因為您很容易洩露有關您的私鑰的資訊。在簽署消息(作為字元串)的情況下,您必須估計:
byte[] result= sha256(message)
結果將是一個 byte[] 並且這個數組最終將插入到:
Sha256Hash input= new Sha256Hash(result);
然後該過程很簡單,以產生ECDSASignature。您必須執行以下操作:
ECDSASignature signature= key.sign(input);
最後,為了驗證您的簽名,您必須檢查以下內容:
key.verify(input, signature)