基本58私钥的正则表达式?

时间:2013-05-24 03:23:28

标签: bitcoin

我正在寻找一个可以验证基本58比特币私钥的正则表达式。我在公共地址找到了这个:

/^[13n][1-9A-Za-z][^OIl]{20,40}/

但我不知道私钥的要求是什么。

4 个答案:

答案 0 :(得分:6)

var regex = /^[5KL][1-9A-HJ-NP-Za-km-z]{50,51}$/

在javascript中。

所有有效的WIF私钥都会与此匹配,唯一可以匹配的额外内容是" WIF私钥" -ish字符串,校验和无效。

最短的WIF密钥(所有00字节,缺少压缩的01字节)51长度 5HpHagT65TZzG1PH3CSu63k8DbpvD8s5ip4nEB3kEsreAbuatmU

最长的WIF密钥(所有带有额外01压缩字节的ff字节)52长度 L5oLkpV3aqBjhki6LmvChTCq73v9gyymzzMpBbhDLjDpKCuAXpsi

答案 1 :(得分:5)

^5[HJK][0-9A-Za-z&&[^0OIl]]{49}

答案 2 :(得分:3)

/ ^ 5 [HJK] [1-9A-ZA-Z] [^油] {49} /

来自https://en.bitcoin.it/wiki/Base58Check_encoding

  

此类编码将始终产生一个51个字符的字符串,以“5”开头,或者更具体地说,是“5H”,“5J”或“5K”。

答案 3 :(得分:0)

在python中:

import re
re.search("^5[HJK][1-9A-Za-z][^OIl]{48}$", wif)