记录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.")