java助记词反向_GitHub - gangan1345/mnemonic-sdk: Mnemonic bip39 bip32 bip44 生成助记词 私钥...
mnemonic-sdk
Mnemonic bip39 bip32 bip44
支持 BIP39 助记词
支持 BIP32 子私钥
支持 BIP44 多币种管理
Install
Gradle:
Add dependency:
dependencies {
implementation 'com.lgann.develop:mnemonic-sdk:1.0.0'
}
Maven:
com.lgann.develop
mnemonic-sdk
1.0.0
pom
Usage
生成助记词
// 默认生成12个单词的助记词
String mnemonic = MnemonicUtils.generateMnemonic();
System.out.println("mnemonic = " + mnemonic);
助记词:exchange throw faculty fiction require father prefer mask organ crumble journey cricket
生成种子
// 根据助记词生成种子
byte[] seed = MnemonicUtils.generateSeed(mnemonic, "");
System.out.println("seed = " + Numeric.toHexString(seed));
种子: 0x7eaedb7137ef3c3b9da8c2bd976d639455133ef76be73fda9c8342c922c98ca910fe195a5db88c43fa526b3504569f6aa7476d738a6e11f8feb48aa03ae0eac0
生成一个bip32 私钥
byte[] privateKeyBytes = KeyPairUtils.generatePrivateKey(seed, KeyPairUtils.CoinTypes.EOS);
System.out.println("privateKeyBytes:"+ Numeric.toHexString(privateKeyBytes));
私钥:0x05b04396cf928446dd14be3d58cad3f64ff7b61730462e14a0722caaaf6a1d49
generatePrivateKey具体实现如下
说明:生成的助记词 通过bip32 bip44 转换生成的私钥 可以让同一个 seed 可以支援多币种、多帐户等
// "m/44'/60'/0'/0/0"
// 1. we just need eth wallet for now
AddressIndex addressIndex = BIP44
.m()
.purpose44()
.coinType(coinType)
.account(0)
.external()
.address(0);
// 2. calculate seed from mnemonics , then get master/root key ;
// Note that the bip39 passphrase we set "" for common
ExtendedPrivateKey rootKey = ExtendedPrivateKey.fromSeed(seed, network);
// 3. get child private key deriving from master/root key
ExtendedPrivateKey childPrivateKey = rootKey.derive(addressIndex, AddressIndex.DERIVATION);
// 4. get key pair
byte[] privateKeyBytes = childPrivateKey.getKey();
如果是ETH钱包开发的话导入了web3j的库 ,可使用ECKeyPair 生成私钥和公钥。
ETH、EOS等账户体系会有所不同,生成私钥和公钥有所区别
// 生成私钥和公钥
ECKeyPair keyPair = ECKeyPair.create(privateKeyBytes);
说明
BIP32:定义 Hierarchical Deterministic wallet (简称 “HD Wallet”),是一个系统可以从单一个 seed 产生一树状结构储存多组 keypairs(私钥和公钥)。好处是可以方便的备份、转移到其他相容装置(因为都只需要 seed),以及分层的权限控制等。
BIP39:将 seed 用方便记忆和书写的单字表示。一般由 12 个单字组成,称为 mnemonic code(phrase),中文称为助记词或助记码。
BIP44:基于 BIP32 的系统,赋予树状结构中的各层特殊的意义。让同一个 seed 可以支援多币种、多帐户等。各层定义如下:
m / purpose' / coin_type' / account' / change / address_index
//purporse': 固定值44', 代表是BIP44
//coin_type': 这个代表的是币种, 可以兼容很多种币, 比如BTC是0', ETH是60'
//btc一般是 m/44'/0'/0'/0
//eth一般是 m/44'/60'/0'/0
java助记词反向_GitHub - gangan1345/mnemonic-sdk: Mnemonic bip39 bip32 bip44 生成助记词 私钥...相关推荐
- 基于Java的Android区块链开发之生成助记词(位数可选)
基于Java的Android区块链开发之生成助记词 位数可选 具体实现代码 这里使用bitcoinj库,来实现生成bip39的12个助记词,引用库 implementation 'org.bitcoi ...
- java助记词_JAVA生成BTC地址以及私钥,公钥和助记词
JAVA生成BTC地址以及私钥,公钥和助记词 有用的话,回来给我点个赞,谢谢了.有问题留言,我会尽快回复. maven依赖 org.bitcoinj bitcoinj-core 0.14.7 上代码 ...
- PHP生成助记词和BTC、ETH、LTC地址
本文作者:陈进坚 个人博客:https://jian1098.github.io CSDN博客:https://blog.csdn.net/c_jian 简书:https://www.jianshu. ...
- bip39:使用bip39生成助记词
助记词 从HD钱包的创建方式可知,要创建一个HD钱包,我们必须首先有一个确定的512bit(64字节)的随机数种子. 如果用电脑生成一个64字节的随机数作为种子当然是可以的,但是恐怕谁也记不住. 如果 ...
- vue+vite项目当中:介绍一种生成助记词新方法,兼容以太坊
在上一篇文章 当中我介绍了使用bip39生成助记词,在vue3不同的框架vite.vue-cli当中引入配置的方法.虽然可以生成助记词但是,需要进行大量的配置,尤其是在vite+ES6+vue3项目当 ...
- Android(以太坊)生成助记词
Android(以太坊)生成助记词 之前都是看别人的文章,很少自己写,有时即使是自己摸索出的解决方案(无法直接搜到)的也没有记录下来, 说白了其实就是懒. 先从小的写起,一点一点把还没忘记的记录一下吧 ...
- (一)区块链钱包之生成助记词
(一)区块链钱包之生成助记词 (二)区块链钱包之创建钱包地址 (三)区块链钱包之加密算法简介 (四)区块链钱包之创建比特离线交易(BTC交易) (五)区块链钱包之创建以太坊交易(ETH交易) 助记词 ...
- Java正则表达式中的反向引用
Java正则表达式中的反向引用是Java提供的另一个重要功能. 要了解反向引用 ,我们首先需要了解群组 . 正则表达式中的分组意味着将多个字符视为一个单元. 通过将要分组的字符放在一组括号" ...
- vue生成助记码全部教程
前端vue 使用js生成助记码 开发页面用的是vue框架,需要根据键盘输入事件生称助记码,网上看了好多,都不适合我(可能我没找对地方)就自己参考着改了一版出来,下面说说思路: 1.首先要先监听键盘输入 ...
最新文章
- debian 10 ssh简单配置
- Bootstrap select 多选并获取选中的值
- AI之最——地平线创始人兼CEO余凯谈AI
- 对象的引用和clone
- python求向量函数的雅可比矩阵_在python Numpy中求向量和矩阵的范数实例
- 基于SSM的餐饮工业化管理系统-计算机毕业设计
- PostgreSQL消息乱码的解决
- SQLServer 条件查询语句大全
- 广西二级c语言试题,广西区计算机等级考二级C语言笔试试题及答案.doc
- 搭建Vue2.0脚手架(vue-cli)
- 常用JS验证函数总结
- C++中的万能头文件
- Thinkpad SL400 功能键介绍
- Java根据信用卡号区分国际常用的五大信用卡卡种:VISA,Master,AE,DC,JCB.
- spring boot整合prometheus
- ffmpeg 连接抖音三个视频,做电脑桌面
- S7-200SMART PLC中书签和交叉引用的具体使用方法示例
- 没有图片显示默认图片
- 刷脸支付设备深度融合多项赋能
- 东南大学银行账号信息
热门文章
- python网络爬虫教程(四):强大便捷的请求库requests详解与编程实战
- h5开发必备之切图工具cutterman
- collapse 微信小程序_微信小程序之有赞组件Collapse折叠面板的使用
- Layui table数据重载实现
- 简单的使用QueryList爬取数据
- 新版jdk安装,配置,测试详解
- 跑前端vue项目流程
- macos可以升级到指定版本吗_macOS版本大升级,值得你关注的几项细节
- can not load key value key was removed or redis-server went away 关于spring 整合redis 以及保存到redis
- java调flash注册方法_FlEX FLASH对象注册点调整方法