def parse_as_public_pair(s):
try:
if s[:2] in (["02", "03", "04"]):
return encoding.sec_to_public_pair(h2b(s))
except (encoding.EncodingError, binascii.Error):
pass
for c in ",/":
if c in s:
s0, s1 = s.split(c, 1)
v0 = parse_as_number(s0)
if v0:
if s1 in ("even", "odd"):
return ecdsa.public_pair_for_x(ecdsa.generator_secp256k1, v0, is_even=(s1=='even'))
v1 = parse_as_number(s1)
if v1:
if not ecdsa.is_public_pair_valid(ecdsa.generator_secp256k1, (v0, v1)):
sys.stderr.write("invalid (x, y) pair\n")
sys.exit(1)
return (v0, v1)
评论列表
文章目录