Example #1
0
        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)