Addresses
如何使用乙太坊地址的公鑰加密消息
我正在 nodejs/browser 中編寫一些程式碼。我已經使用secp256k1 -library 成功創建了乙太坊地址。我還能夠簽署和驗證消息。現在我想用生成的地址的公鑰和私鑰加密/解密一條消息。有沒有人這樣做過?我可以使用 CryptoJS 來實現我的目標嗎?
thx @Edmunx Edgar,我嘗試使用 ECIES,但由於依賴關係而無法安裝。我現在將bitcore-lib與bitcore-ecies一起使用。這像預期的那樣工作。
編輯:我創建了一個 npm 模組,它完全可以做這些事情,並且還有一些性能優化和教程:github:eth-crypto。
這是我為有相同問題的人提供的程式碼:
// run 'npm install eth-crypto --save' const EthCrypto = require('eth-crypto'); // create identitiy with key-pairs and address const alice = EthCrypto.createIdentity(); const secretMessage = 'My name is Satoshi Buterin'; const encrypted = await EthCrypto.encryptWithPublicKey( alice.publicKey, // encrypt with alice's publicKey secretMessage ); const decrypted = await EthCrypto.decryptWithPrivateKey( alice.privateKey, encrypted ); if(decrypted === secretMessage) console.log('success');