bugfix
This commit is contained in:
parent
20eb1b19d3
commit
b8f989a947
@ -1,3 +1,4 @@
|
|||||||
|
import base64
|
||||||
from cryptography.hazmat.primitives import padding
|
from cryptography.hazmat.primitives import padding
|
||||||
from cryptography.hazmat.primitives.ciphers import Cipher, algorithms, modes
|
from cryptography.hazmat.primitives.ciphers import Cipher, algorithms, modes
|
||||||
from cryptography.hazmat.backends import default_backend
|
from cryptography.hazmat.backends import default_backend
|
||||||
@ -25,7 +26,7 @@ def aes_encrypt_ecb(key: bytes, plaintext: str) -> bytes:
|
|||||||
key = len32(key)
|
key = len32(key)
|
||||||
cipher = Cipher(algorithms.AES(key), modes.ECB(), backend=default_backend())
|
cipher = Cipher(algorithms.AES(key), modes.ECB(), backend=default_backend())
|
||||||
encryptor = cipher.encryptor()
|
encryptor = cipher.encryptor()
|
||||||
padded_data = pad(plaintext.encode())
|
padded_data = pad(plaintext.encode('iso-8859-1'))
|
||||||
return encryptor.update(padded_data) + encryptor.finalize()
|
return encryptor.update(padded_data) + encryptor.finalize()
|
||||||
|
|
||||||
def aes_decrypt_ecb(key: bytes, ciphertext: bytes) -> str:
|
def aes_decrypt_ecb(key: bytes, ciphertext: bytes) -> str:
|
||||||
@ -33,12 +34,23 @@ def aes_decrypt_ecb(key: bytes, ciphertext: bytes) -> str:
|
|||||||
cipher = Cipher(algorithms.AES(key), modes.ECB(), backend=default_backend())
|
cipher = Cipher(algorithms.AES(key), modes.ECB(), backend=default_backend())
|
||||||
decryptor = cipher.decryptor()
|
decryptor = cipher.decryptor()
|
||||||
padded_plain = decryptor.update(ciphertext) + decryptor.finalize()
|
padded_plain = decryptor.update(ciphertext) + decryptor.finalize()
|
||||||
return unpad(padded_plain).decode()
|
return unpad(padded_plain).decode('iso-8859-1')
|
||||||
|
|
||||||
|
def aes_encode_b64(key:str, text:str) -> str:
|
||||||
|
key = key.encode('iso-8859-1')
|
||||||
|
cyber = aes_encrypt_ecb(key, text)
|
||||||
|
secret = cyber.decode('iso-8859-1')
|
||||||
|
return base64.b64encode(cyber).decode('iso-8859-1')
|
||||||
|
|
||||||
|
def aes_decode_b64(key:str, b64str:str) -> str:
|
||||||
|
key = key.encode('iso-8859-1')
|
||||||
|
b64b = b64str.encode('iso-8859-1')
|
||||||
|
cyber = base64.b64decode(b64b)
|
||||||
|
return aes_decrypt_ecb(key, cyber)
|
||||||
|
|
||||||
if __name__ == '__main__':
|
if __name__ == '__main__':
|
||||||
key = b'67t832ufbj43riu8'
|
key = '67t832ufbj43riu8ewrg'
|
||||||
o = 'this is s test string'
|
o = 'this is s test string'
|
||||||
b = aes_encrypt_ecb(key, o)
|
b = aes_encode_b64(key, o)
|
||||||
t = aes_decrypt_ecb(key, b)
|
t = aes_decode_b64(key, b)
|
||||||
print(f'{o=},{b=},{t=}')
|
print(f'{o=},{b=},{t=}')
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user