我正在寻找一个可以验证基本58比特币私钥的正则表达式。我在公共地址找到了这个:
/^[13n][1-9A-Za-z][^OIl]{20,40}/
但我不知道私钥的要求是什么。
答案 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)