我正在寻找在java / kotlin中生成ed25519规范的高清密钥。我知道像stellar-hd-wallet这样的库在javascript中也做同样的事情。我正在使用bitcoinj以下方式生成新的助记符
```js
val params = TestNet3Params.get() val wallet = Wallet.createDeterministic(params, Script.ScriptType.P2PKH)
val seed: DeterministicSeed = wallet.keyChainSeed
println("mnemonicCode: "+ seed.mnemonicCode)
我想使用12个单词的助记符代码以确定性的方式生成一组ed25519密钥对。这可能使用bitcoinj吗?如果不能,您可以建议其他图书馆吗?
我尝试使用net.i2p.crypto:eddsa:0.3.0。但是我找不到实现相同目的的方法。(我知道该库仅用于生成随机密钥)。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
在Java或Kotlin中生成ED25519 HD(分层确定性)密钥对,使用助记词类似于BIP39标准,bitcoinj库主要针对比特币的SECP256k1曲线,并不直接支持ED25519。对于ED25519和BIP39兼容的HD钱包功能,你可以考虑使用其他专门为此设计的库。
一个推荐的选择是Bip39
和Ed25519-HD-Key
这两个库的组合来实现你的需求:
Bip39 是一个独立于bitcoinj的库,可以用来生成和验证BIP39助记词。
Ed25519-HD-Key 是一个实现了BIP32分层确定性密钥派生方案的库,专为ED25519曲线设计。
首先,你需要添加这两个库到你的项目依赖中。如果你使用的是Maven或Gradle,可以从各自的仓库中找到对应的依赖声明并加入到你的构建文件中。
然后,你可以按照以下步骤操作:
注意,示例代码需要根据实际库的API进行调整,因为具体实现细节可能随时间变化。务必查看上述库的最新文档以获取准确的用法。
如果在阿里云环境中部署应用,确保这些第三方库与你的运行环境兼容,并遵循阿里云的安全最佳实践,特别是在处理密钥材料时。