Python Cryptodome接口测试

记录Cryptodome测试代码

from Cryptodome.PublicKey import RSA

from Cryptodome.Cipher import PKCS1_OAEP
from Cryptodome.Signature import PKCS1_v1_5
from Cryptodome.Hash import SHA256

prikey = """-----BEGIN RSA PRIVATE KEY-----
MIIEowIBAAKCAQEA+lrMu/VAO8b+LSBt7sCHkOYgQwgyq4qMyXRuc7yQBQv26r5b
Og7dUwXqXJ0jW4DIz7MclPBTouK6mv0K6BlOrXGH+0yyBDjIt+r9wrwORT+tu+8Z
1psdGEn8BT3zVuC+Z1AZu+PRFfrn8oLj7ogi6ETJhkoHuZghA9wjVKjBf9WoZBlE
4yhYQ7E2jTy6KAVhlZu2jaAH4+Ny03b6q59iEi5aQ90pb6CgH5cHhLUFzLs5q0rb
XE8rWOq2EuI/HVuqCsg+S65qNAQ19V47ey9dx+FHsj6MA97b7vYTMJ4sE8ZnPPa/
6A5qH6l6s0CKubssqvfR7msBPlz16JFPyhewbwIBAwKCAQEApuczJ/jVfS9UHhWe
nysFC0QVggV3HQcIhk2e99MKrgf58dQ80V8+N1lG6GjCPQCF38y9uKA3wex8Z1Nc
mruJyPZap4h2rXswepypLH1e2NUefUoROby+EDFSrilM5JXUROARJ+02DqdFTFdC
nwVsmtiGWYav0RAWApLCOHCA/+J0CchxzX9OmJewCBqxTSB+OAvYiTuE2apfmYqT
dJUNCBj3o9udsoHswLgOqqGpNOSg5ImlTUadO+btKsQ0eJtWC6skYyQlwhJkd+yS
jSMYSbMTVMoU7libt6htbF6GDpq8B5tDC7od0nBLYCcoU8Qd80WtNyacb1Zyxbmj
X/vD6wKBgQD+y4x34MPyoZ5OB34Yg30Pqr+kGHhCmcTKFaCtO0IGwLPv4aOH7BkJ
0FbvMCJMlQprhPEEdFb5W1PZHNImSjlt597jozGKVboSVJjyroCS0aohs8CHOspS
Ro05GON9g7Y+SaFCgiYxF0ElDkI+B5RgPC895KbojCVcjqkoDEJ5EQKBgQD7ieAi
TiVvvS9geZaXsNeUlspNp05+A58ZV4ZwQX3HxVT27HA098SzLiwCVKA7aFncz4te
9A5GI7x5NenKHjk7EWikE8anOy6M7OJs+Pomh6qI/07lY4+gFOw19SzleigO5+yY
1FEMTL/klMOQNICfgeAQNwouCzXtMVGyrduRfwKBgQCp3QhP6y1Ma77er6llrP4K
cdUYEFAsZoMxY8BzfNavKyKf68JanWYGiuSfdWwzDgbyWKCtouSmPOKQveFu3CZJ
RT9CbMuxjnwMOGX3HwBh4RwWd9WvfIbhhF4mEJepAnl+28DXAW7LZNYYtCwpWmLq
0sopQxnwXW49tHDFXYGmCwKBgQCnsUAW3sOf03Tq+7m6deUNudwzxN7+rRS7j671
gP6FLjiknaAjT9h3dB1W4xV88Dvoilzp+AmEF9L7eUaGvtDSC5sYDS8aJ3Rd80Gd
+1FvBRxbVN9Dl7UVY0gj+MiY/Bq0mp27ODYIMyqYYy0KzasVAUAKz1wesiPzdjZ3
HpJg/wKBgHgVxT0PI1mjc9FMkJWejCql7IUZKIAD95HhD2OKbUs5FXKDyVUUnnBR
AxO5K+3Um+tYkds2+RtDK7hEY8UR41+bPveetW31g7xoSeJjbxSuia+HLXzrA0P7
zvDFoXupbriNAAscDzT71ouyccBjFepO3gQFbPzgDgQHlIsIU8V3
-----END RSA PRIVATE KEY-----
"""
pubkey="""-----BEGIN PUBLIC KEY-----
MIIBIDANBgkqhkiG9w0BAQEFAAOCAQ0AMIIBCAKCAQEA+lrMu/VAO8b+LSBt7sCH
kOYgQwgyq4qMyXRuc7yQBQv26r5bOg7dUwXqXJ0jW4DIz7MclPBTouK6mv0K6BlO
rXGH+0yyBDjIt+r9wrwORT+tu+8Z1psdGEn8BT3zVuC+Z1AZu+PRFfrn8oLj7ogi
6ETJhkoHuZghA9wjVKjBf9WoZBlE4yhYQ7E2jTy6KAVhlZu2jaAH4+Ny03b6q59i
Ei5aQ90pb6CgH5cHhLUFzLs5q0rbXE8rWOq2EuI/HVuqCsg+S65qNAQ19V47ey9d
x+FHsj6MA97b7vYTMJ4sE8ZnPPa/6A5qH6l6s0CKubssqvfR7msBPlz16JFPyhew
bwIBAw==
-----END PUBLIC KEY-----
"""
if __name__ == '__main__':
    # # 提取私钥
    # private_key = key.export_key()
    # # 提取公钥存
    # public_key = key.publickey().export_key()
    # print(private_key)
    # print(public_key)

    data = b"aa"
    # 公钥加密私钥解密
    cipherde = PKCS1_OAEP.new(RSA.importKey(pubkey))
    # 加密
    encrypted_data = cipherde.encrypt(data)
    print(encrypted_data)
    # 实例化加密套件
    cipheren = PKCS1_OAEP.new(RSA.importKey(prikey))
    # 解密
    decrypted_data = cipheren.decrypt(encrypted_data)
    print(decrypted_data)

    #私钥签名公钥验签
    digest = SHA256.new(data)
    signature = PKCS1_v1_5.new(RSA.importKey(prikey)).sign(digest)
    print(signature)
    try:
        PKCS1_v1_5.new(RSA.importKey(pubkey)).verify(digest, signature)
        print(f"The signature is valid.")
    except (ValueError, TypeError):
        print("The signature is not valid.")

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值