脑钱包-字符串SHA256散列成256bit当做私钥-彩虹表

脑钱包是开源的程序-->用户输入字符串当做密码-->经过SHA256散列算法-->256长bit位 (即是私钥)-->进过BASE58编码

-->可见字符串,便于存储-->再经过私钥生成公钥和钱包地址的流程

BASE58: 比特币专用,类似base64,单是去除了其中易混淆的字母,如 0 (零), O (大写字母O), I (大写的字母i) and l (小写的字母L) ,和几个影响双击选择的字符,如/, +

比特币私钥-即一个256长bit位(32字节)

a).  私钥本质是一个256长的bit位,生成方法任意,也可以采用BitCoin自带的程序随机生成(所以会有极小极小极小概率重复)
b). 通常看到的私钥是经过BASE58编码转成可见字符串,如5KYZdUEo39z3FPrtuX2QbbwGnNP5zTd7yyr2SC1j299sBCnWjss

私钥-->公钥-->钱包地址

私钥-->公钥

a). 比特币选取的生成算法是椭圆曲线密码(细节实在不懂啊)下的secp256k1标准, 其公式是y^2 = x^3 + 7



b). 公私钥关键公式: K=k*G, 其中k是我们的私钥,G为算法基点(对比特币来说是个固定值),结果K即公钥是函数曲线上的另外一个点。

k和K的数学运算是单向的,所以不能从公钥推导出私钥。

我们的⽬标是找到⽣成点G的倍数kG。 也就是将G相加k次。 在椭圆曲线中, 点的相加等同于从该点画切线找到与曲线相交的另⼀点, 然后映射到x轴。

c). 公钥K(65字节)可以用X/Y轴表示,即(x,y)各32字节,一个字节04

公钥P.X: 06CCAE7536386DA2C5ADD428B099C7658814CA837F94FADE365D0EC6B1519385

公钥P.Y: FF83EC5F2C0C8F016A32134589F7B9E97ACBFEFD2EF12A91FA622B38A1449EEB

公钥-->钱包地址

a). 将前面得到的公钥x/Y合并得到标准地址,0406CCAE7536386DA2C5ADD428B099C7658814CA837F94FADE365D0EC6B1519385FF83EC5F2C0C8F016A32134589F7B9E97ACBFEFD2EF12A91FA622B38A1449EEB

进行SHA-256得到B

b). 对B进行进行RIPEMD-160计算,得到C

c). C前面加入地址版本号(比特币主网版本号"0X00"),得到D

d). 对D进行2次SHA-256得到E

e). 取E的前4个字节作为校验位加入到D的前面,得到 E(4)D == F -- 即是钱包地址

f). 对F进行Base58编码即是传统意义上可见的钱包地址啦

比特币--私钥->公钥->钱包地址的更多相关文章

  1. 最著名的著名的比特币BTC钱包地址-中本聪的钱包

    最著名的著名的比特币BTC钱包地址-中本聪的钱包1.比特币创始人中本聪 1PTFYUG6nCzRrByoRfGT5kefUNuZjNF84o这个地址还是比特币的创世地址,比特币从未移动过,其中的50币 ...

  2. [币严区块链]BitcoinCash - BCH钱包地址生成与扫块充值监控(JAVA版)

    本文的方案无需自建节点,因为BCH当前区块数据大小已经达到200G以上,BTC区块数据也已超过300G,若每个币都自建节点,对云服务器的消耗会非常大. 认识BitcoinCash(BCH) Bitco ...

  3. 使用比特币轻量钱包Electrum

    一.选择对应的钱包安装程序 浏览器打开 https://electrum.org/#download 选择windwos版本的安装程序 点击下载,并安装 二.运行Electrum的 testnet版本 ...

  4. 是否可能两个ETH私钥对应同一个地址

    原提问在这里. 笔者在使用到neon-js中的私钥生成方法时发现其使用了getRandomValues方法来生成64字符长度的私钥,进而考虑到其随机性,若是调用足够多次,依然有可能生成两个完全一样的私 ...

  5. Linux使用私钥公钥(Public key)登录 - 免密码登录

    为了更安全.方便的登录Linux服务器,可以取消密码登录,使用私钥公钥的方式来登录,更方便也更安全. 生成密钥 借助Xshell可以很方便的生成和管理私钥,点击工具菜单,选择新建用户密钥生成向导: 直 ...

  6. 以太坊Geth通过私钥导入新地址到钱包步骤(3种方法)

    一: 通过Geth客户端导入私钥: Open TextEdit Paste key into TextEdit without any extra characters or quotations S ...

  7. 以太坊Geth通过私钥导入新地址到钱包步骤

    Open TextEdit Paste key into TextEdit without any extra characters or quotations Save the file as pk ...

  8. openssl rsa 私钥 PKCS8私钥 公钥

    上文配置好 openssl 运行 => cmd => cd C:\usr\local\ssl\bin => 执行 openssl

  9. 比特币、莱特币钱包下载和把数据迁移到C盘以外其他盘

    比特币是目前最热门和价格最高的虚拟币,国内外多个平台可以进行交易,有些商家可以用比特币进行支付有些国家可以在ATM取款. Bitcoin-Qt就是最早的比特币客户端,构建了比特币的骨干网络,具有高度的 ...

随机推荐

  1. 读取url接口数据

    string url = "http://localhost:8180/city-smscenter/smscenter?cmd=flowsms.queryMobileSmsList& ...

  2. sql 语言练习题

    1. 查询Student表中的所有记录的Sname.Ssex和Class列. 2. 查询教师所有的单位即不重复的Depart列. 3. 查询Student表的所有记录 . 4. 查询Score表中成绩 ...

  3. 无废话MVC入门教程笔记

    自学mvc,看了园子里李林峰写的李林峰写的无废话MVC入门教程笔记,现在有的平时忽略的或是不太清楚的点记下来 1,Html.DropDownList //服务端写法 @{ //下拉列表的值 List& ...

  4. 值得细读!如何系统有效地提升Android代码的安全性?

    众所周知,代码安全是Android开发工作中的一大核心要素. 11月3日,安卓巴士全球开发者论坛线下系列沙龙第七站在成都顺利举办.作为中国领先的安卓开发者社区,安卓巴士近年来一直致力于在全国各大城市举 ...

  5. Jquery学习理解 (课堂)

    Jquary概述 3 1.Jquary简介 3 1.1什么是jquery 3 2.使用jquary 4 2.1浏览器如何解析HTML文件 4 2.2利用选择器定位节点 4 2.3调用方法操作节点 5 ...

  6. 解释器模式Interpreter详解

    原文链接:https://www.cnblogs.com/java-my-life/archive/2012/06/19/2552617.html 在阎宏博士的<JAVA与模式>一书中开头 ...

  7. P3943 星空 区间异或差分

    \(\color{#0066ff}{ 题目描述 }\) 逃不掉的那一天还是来了,小 F 看着夜空发呆. 天上空荡荡的,没有一颗星星--大概是因为天上吹不散的乌云吧. 心里吹不散的乌云,就让它在那里吧, ...

  8. 模板【洛谷P3390】 【模板】矩阵快速幂

    P3390 [模板]矩阵快速幂 题目描述 给定n*n的矩阵A,求A^k 矩阵A的大小为n×m,B的大小为n×k,设C=A×B 则\(C_{i,j}=\sum\limits_{k=1}^{n}A_{i, ...

  9. Eclipse报错:Attribute "xmlns" was already specified for element "web-app".

    原因: 在Eclipse中修改了已有的Web工程的工程名,然后出现该错误. Attribute "xmlns" was already specified for element ...

  10. java 的开发工具IDEA使用 中Debug 调试工具使用

    IDEA JetBrains(这个公司的名称翻译过来就是“大脑喷射?”) 公司的宣传语是这么说的:Develop with pleasure!(带着快乐开发!)   话不多说 开始debug   1, ...