Private-Key

ECKey.ECDSA簽名創建

  • January 12, 2016

我有我的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)

引用自:https://bitcoin.stackexchange.com/questions/42245