mirror of
https://github.com/metafy-social/python-scripts.git
synced 2024-11-24 12:31:11 +00:00
46 lines
1.0 KiB
Python
46 lines
1.0 KiB
Python
|
import streamlit as st
|
||
|
import base64
|
||
|
|
||
|
# Function to Encode
|
||
|
|
||
|
def Encode(key, message):
|
||
|
enc=[]
|
||
|
for i in range(len(message)):
|
||
|
key_c = key[i % len(key)]
|
||
|
enc.append(chr((ord(message[i]) + ord(key_c)) % 256))
|
||
|
|
||
|
return base64.urlsafe_b64encode("".join(enc).encode()).decode()
|
||
|
|
||
|
|
||
|
# Function to decode
|
||
|
|
||
|
def Decode(key, message):
|
||
|
dec=[]
|
||
|
message = base64.urlsafe_b64decode(message).decode()
|
||
|
for i in range(len(message)):
|
||
|
key_c = key[i % len(key)]
|
||
|
dec.append(chr((256 + ord(message[i])- ord(key_c)) % 256))
|
||
|
|
||
|
return "".join(dec)
|
||
|
|
||
|
message = st.text_input('Message Text')
|
||
|
|
||
|
key = st.text_input(
|
||
|
"Private key", type="password"
|
||
|
)
|
||
|
|
||
|
mode = st.selectbox(
|
||
|
"What action would you like to perform?",
|
||
|
("Encode", "Decode")
|
||
|
)
|
||
|
|
||
|
if st.button('Result'):
|
||
|
if (mode == "Encode"):
|
||
|
# Encode(key, message)
|
||
|
st.write(Encode(key, message))
|
||
|
else:
|
||
|
st.write(Decode(key, message))
|
||
|
else:
|
||
|
st.write('Please enter all the required information!!')
|
||
|
|