예제 #1
0
def test_decode_pub():
    key = random_privkey()
    ans = pubkey(key)
    ret = decode_pubkey(gen_pub_key(key))
    assert ans == ret

    key = random_privkey()
    ans = pubkey(key)
    ret = decode_pubkey(gen_pub_key(key))
    assert ans == ret
예제 #2
0
def test_sign():
    msg = 'test'
    priv = ecdsa.random_privkey()
    pub = ecdsa.pubkey(priv)
    sig = ecdsa.sign(priv, msg)
    assert ecdsa.verify(pub, sig, msg)
    ecdsa.proof()
예제 #3
0
def test_recover():
    msg = 'test'
    mhash = hashlib.sha256(msg.encode()).digest()
    priv = ecdsa.random_privkey()
    pub = ecdsa.pubkey(priv)
    sig = ecdsa.sign(priv, msg)
    assert ecdsa.verify(pub, sig, msg)
    res = ecdsa.recover_via_msg(sig, msg)
    vrs = sig[0].value, sig[1].value, sig[2].value
    ans = bitcoin.ecdsa_raw_recover(mhash, vrs)
    assert (pub.value[0].value, pub.value[1].value) == ans
    assert pub == res
예제 #4
0
def gen_pub_key(key: CF) -> str:
    return encode_pubkey(pubkey(key))
예제 #5
0
파일: address.py 프로젝트: jin10086/klefki
def gen_address_from_priv(key) -> str:
    return gen_address(pubkey(key))
예제 #6
0
def gen_address_from_priv(priv: CF) -> str:
    return gen_address(pubkey(priv))
예제 #7
0
파일: public.py 프로젝트: jin10086/klefki
def gen_pub_key(key: CF):
    return checksum(to_bytes(pubkey(key)))