sk = sk.encode() sk = base64.b64decode(sk) sk = Crypto.PublicKey.RSA.importKey(sk) cipher = PKCS1_v1_5.new(sk) sha = SHA.new() sha.update(content.encode()) ciphered = cipher.sign(sha) ciphered = base64.b64encode(ciphered).decode() return ciphered @staticmethod def Decipher(pk, content, ciphered): pk = pk.encode() pk = base64.b64decode(pk) pk = Crypto.PublicKey.RSA.importKey(pk) decipher = PKCS1_v1_5.new(pk) sha = SHA.new() sha.update(content.encode()) ciphered = base64.b64decode(ciphered.encode()) isverify = decipher.verify(sha, ciphered) return isverify if __name__ == '__main__': sk, pk = RSA.GenerateSKPK() # print(sk, pk) content = "hello world" ciphered = RSA.Cipher(sk, content) deciphered = RSA.Decipher(pk, content, ciphered) print(deciphered)