Spaces:
Runtime error
Runtime error
import streamlit as st | |
import hashlib | |
from cryptography.hazmat.primitives import hashes | |
from cryptography.hazmat.primitives.asymmetric import ( | |
padding, rsa, utils | |
) | |
private_key = rsa.generate_private_key( | |
public_exponent=65537, | |
key_size=2048, | |
) | |
st.write(""" | |
## Tanda Tangan Digital RSA🔐 | |
""") | |
input = st.text_input('Masukkan Teks', 'Informatika UNRIYO') | |
prehashed_msg = hashlib.sha256(input.encode()).digest() | |
signature = private_key.sign( | |
prehashed_msg, | |
padding.PSS( | |
mgf=padding.MGF1(hashes.SHA256()), | |
salt_length=padding.PSS.MAX_LENGTH | |
), | |
utils.Prehashed(hashes.SHA256()) | |
) | |
st.write("Tanda tangan digital :", signature) | |
public_key = private_key.public_key() | |
try : | |
public_key.verify( | |
signature, | |
prehashed_msg, | |
padding.PSS( | |
mgf=padding.MGF1(hashes.SHA256()), | |
salt_length=padding.PSS.MAX_LENGTH | |
), | |
utils.Prehashed(hashes.SHA256()) | |
) | |
st.write('Tanda tangan VALID') | |
except InvalidSignature: | |
st.write('Tanda tangan INVALID') | |