当前位置:首页 » 文件管理 » 私钥压缩地址

私钥压缩地址

发布时间: 2024-05-14 22:37:46

Ⅰ 镀忚瘹淇″竵杩欐牱锘轰簬鍖哄潡阈剧殑鏁板瓧璐у竵涓锛岀侀挜锛屽叕阍ワ纴鍦板潃鍒板簳鏄镐庝箞锲炰簨锛

寰埚氩皬锏藉垰鍏ュ満镞讹纴灏辫绉侀挜锛屽叕阍ワ纴鍦板潃锛岀瓑绛夊叧绯诲纰鏅曞ご銆傛湁镄勭敋镊虫妸镊宸辩侀挜鎼炰涪浜嗭纴鍦板潃涓婄壒鍒链夐挶锛屽彲锅忓亸灏辨槸鍙栦笉鍑烘潵锛屼粖澶╁皬锏藉氨鎶婄侀挜锛屽叕阍ワ纴杩樻湁鍦板潃涔嬮棿镄勫叧绯昏窡澶у舵崑涓鎹嬨

绉侀挜銆佸叕阍ュ拰鍦板潃杩欎笁钥呯殑鍏崇郴鏄锛

绉侀挜杞鎹㈡垚锛堢敓鎴愶级鍏阍ワ纴鍐嶈浆鎹㈡垚鍦板潃锛屽傛灉镆愪釜鍦板潃涓婃湁姣旂壒甯佹垨璇氢俊甯侊纴灏卞彲浠ヤ娇鐢ㄨ浆鎹㈡垚杩欎釜鍦板潃镄勭侀挜鑺辫垂涓婇溃镄勮瘹淇″竵銆傚叕阍ュ拰鍦板潃镄勭敓鎴愰兘渚濊禆浜庣侀挜锛屾墍浠ョ侀挜镓嶆渶閲嶈併

镓嬫満阍卞寘涔熸槸钖屾牱锛屼絾锲犱负镓嬫満镄勬枃浠剁$悊鏂瑰纺涓嶅儚璁$畻链洪偅涔堟柟渚裤傛墍浠ヤ竴鑸镓嬫満阍卞寘浼氭彁渚涗竴涓钖崭负鎴栫被浼尖滃煎嚭绉侀挜钬濈殑锷熻兘锛岄氲繃杩欎釜锷熻兘锛屽氨鍙浠ュ皢绉侀挜鐢ㄥ悇绉嶅舰寮忓煎嚭𨱒ャ

姣斿傛瘆鐗瑰竵镓嬫満阍卞寘鍙浠ュ煎嚭涓轰簩缁寸爜锛屽彲浠ユ墦鍗版垨钥呮壂鎻忓埌绾镐笂銆傛洿鎹㈡坠链烘椂锛岃呭ソ姣旂壒甯侀挶鍖呮壂鎻忎竴涓嬭繖涓浜岀淮镰侊纴灏卞彲浠ュ疄鐜拌縼绉绘瘆鐗瑰竵銆傛瘆鐗瑰竵镓嬫満阍卞寘鍜岃瘹淇″竵镓嬫満阍卞寘鍙浠ュ煎嚭涓轰竴浠芥槑鏂囧瓧绗︿覆锛屾墦鍗板埌绾镐笂钬斺旇繖灏辨槸绾搁挶鍖呫

绾搁挶鍖呰╃敤鎴峰彲浠ュ埌浠讳綍链夋瘆鐗瑰竵鎴栬瘹淇″竵阍卞寘镄勭粓绔𨱒ヨ姳璐逛綘镄勬瘆鐗瑰竵鎴栬瘹淇″竵銆

鐢变簬阍卞寘涓㈠け鎴栨崯鍧忎细瀵艰嚧澶卞幓绉侀挜锛屼粠钥屽交搴曞け铡昏ユ暟瀛楄揣甯佺殑杞璐︽潈銆傝侀槻姝㈠嚭鐜拌繖镙风殑鎭插墽锛屽氨瑕佽板缑缁忓父澶囦唤阍卞寘閲岀殑鏁版嵁銆傞櫎浜嗗湴鍧澶栵纴澶囦唤镞朵篃淇濆瓨浜嗘墍链夌殑绉侀挜銆

镐荤粨

  1. 绉侀挜瑕佷缭鎶ゅソ锛岄槻姝涓㈠け锛岄槻姝㈠缮璁帮纴鍦ㄦ坠链烘竻淇℃伅镞舵柟寮忚娓呴櫎锛屾渶濂芥坠鎶勪竴浠斤纴浣嗕笉瑕佹硠闇层

  2. 瑕侀槻姝㈣嚜宸遍挶鍖呬涪澶辨垨鎹熷潖锛屽艰嚧涓㈠け绉侀挜锛屼抚澶辨暟瀛楄揣甯佺殑杞璐︽潈锛屽惁鍒欎綘椤垮啀澶氩竵鍙栦笉鍑烘潵锛岃缮涓嶆槸娌$敤銆

Ⅱ 涓涓绉侀挜鍙浠ョ敓鎴愬氩皯涓鍦板潃

3涓銆傛牴鎹镆ヨ㈡偀绌洪梾绛旀樉绀猴纴钖屼竴涓狟TC绉侀挜铏界劧瀵瑰簲镌3涓涓嶅悓镄凚TC鍦板潃锛屼絾鏄杩3涓鍦板潃閮芥槸姝e父鍦板潃锛岄兘鏄鍙浠ヤ娇鐢ㄧ殑銆

Ⅲ 【以太坊易错概念】nonce, 公私钥和地址,BASE64/BASE58,

以太坊里的nonce有两种意思,一个是proof of work nonce,一个是account nonce。

在智能合约里,nonce的值代表的是该合约创建的合约数量。只有当一个合约创建另一个合约的时候才会增加nonce的值。但是当一个合约调用另一个合约神棚中的method时 nonce的值是不变的。
在以太坊中nonce的值可以这样来获取(其实也就是属于一个账户的交易数量):

但是这个方法只能获取交易once的值。仔茄目前是没有内置方法来访问contract中的nonce值的

通过椭圆曲线算法生成钥匙对(公钥和私钥),以太坊采用的是secp256k1曲线,
公钥采用uncompressed模式,生成的私钥为长度32字节的16进制字串,公钥为长度64的公钥字串。公钥04开头。
把公钥去掉04,剩下的进行keccak-256的哈希,得到长度64字节的16进制字串,丢掉前面24个,拿后40个,再加上"0x",即为以太坊地址。

整个过程可以归纳为:

2)有些网关或系统只能使用ASCII字符。Base64就是用来将非ASCII字符的数据转换成ASCII字符的一种方法,而且base64特别适合在http,mime协议下快速传输数据。Base64使用【字母azAZ数字09和+/】这64个字符编码。原理是将3个字节转换成4个字节(3 X 8) = 24 = (4 X 6)
当剩下的字符数量不足3个字节时,则应使用0进行填充,相应的,输出字符则使用'='占位,因此编码后输出的文本末尾可能会出现1至2个'='。

1)Base58是用于Bitcoin中使用的一种独特的编码方式,主要用于产生Bitcoin的钱包地址。相比Base64,Base58不使用数字"0",字母大写"O",字母大写"I",和字母小写"l",以及"+"和"/"符号。

Base58Check是一种常用在比特币中的Base58编码格式,增加了错误校验码来检查数据在转录中出现的错误。 校验码长4个字节,添加到需要编码的数据之后。校验码是从需要编码的数据的哈希值中得到的,所以可以用来检测并避免转录和输入中产生的错误。使用 Base58check编码格式时,编码软件会计算原始数据的校验码并和结果数据中自带的校验码进行对比。二者不匹配则表明有错误产生,那么这个 Base58Check格式的数据就是无效的。例如,一个错误比特币地址就不会被钱游戚则包认为是有效的地址,否则这种错误会造成资金的丢失。

为了使用Base58Check编码格式对数据(数字)进行编码,首先我们要对数据添加一个称作“版本字节”的前缀,这个前缀用来明确需要编码的数 据的类型。例如,比特币地址的前缀是0(十六进制是0x00),而对私钥编码时前缀是128(十六进制是0x80)。 表4-1会列出一些常见版本的前缀。

接下来,我们计算“双哈希”校验码,意味着要对之前的结果(前缀和数据)运行两次SHA256哈希算法:

checksum = SHA256(SHA256(prefix+data))
在产生的长32个字节的哈希值(两次哈希运算)中,我们只取前4个字节。这4个字节就作为校验码。校验码会添加到数据之后。

结果由三部分组成:前缀、数据和校验码。这个结果采用之前描述的Base58字母表编码。下图描述了Base58Check编码的过程。

相同:

1) 哈希算法、Merkle树、公钥密码算法
https://blog.csdn.net/s_lisheng/article/details/77937202?from=singlemessage

2)全新的 SHA-3 加密标准 —— Keccak
https://blog.csdn.net/renq_654321/article/details/79797428

3)在线加密算法
http://tools.jb51.net/password/hash_md5_sha

4)比特币地址生成算法详解
https://www.cnblogs.com/zhaoweiwei/p/address.html

5)Base58Check编码实现示例
https://blog.csdn.net/QQ604666459/article/details/82419527

6) 比特币交易中的签名与验证
https://www.jianshu.com/p/a21b7d72532f

热点内容
iptables限制ip访问 发布:2025-01-17 21:38:01 浏览:174
易拉罐压缩机 发布:2025-01-17 21:25:35 浏览:924
在c语言是什么意思啊 发布:2025-01-17 21:21:02 浏览:516
re0脚本 发布:2025-01-17 21:13:34 浏览:305
甜蜜家园密码箱有什么用 发布:2025-01-17 21:07:28 浏览:47
有教少儿编程 发布:2025-01-17 20:55:37 浏览:37
直播背脚本 发布:2025-01-17 20:50:18 浏览:410
ftp移动文件的mv命令 发布:2025-01-17 20:45:53 浏览:405
电脑上啥是服务器 发布:2025-01-17 20:40:48 浏览:353
安卓手机怎么连大众车载 发布:2025-01-17 20:20:53 浏览:241