파이썬[Python]: cryptography - rotate 메서드
cryptography 패키지 - fernet 모듈 - MultiFernet 클래스 - rotate 메서드(method)
/// 설명
최초에 생성된 비밀키에 새로운 키를 추가하여 새로운 비밀키를 만듭니다. 그리고 나서 새로운 키로 암호화된 메세지를 다시 새로운 암호문으로 만듭니다. 복호화는 새롭게 만들어진 키로만 복호화를 할 수 있습니다.
※ 형식
multifernet.rotate(msg)
reference
https://cryptography.io/en/latest/fernet/
※ 형식
multifernet.rotate(msg)
reference
https://cryptography.io/en/latest/fernet/
/// 예제
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 | from cryptography.fernet import Fernet, MultiFernet test_str = b'This is a string' # generating keys test_key1 = Fernet(Fernet.generate_key()) test_key2 = Fernet(Fernet.generate_key()) test_list = [test_key1, test_key2] test_encrypt = MultiFernet(test_list) test_encrypted = test_encrypt.encrypt(test_str) print(test_encrypted) # b'gAAAAABhlP699zWXIgrw85lXu-Z7y3ykq55yS6gQh9_RYAeJG7nm3tCAJ_C8fIdlsUN_kVKfxxvYSm6d1m3PfUsjoErXZGHSjNT715i-Eq5mr0trZ90LVfU=' test_decrypted = test_encrypt.decrypt(test_encrypted) print(test_decrypted) # b'This is a string' #--------- New Key Generation ------------------------ test_key3 = Fernet(Fernet.generate_key()) test_list.insert(0, test_key3) test_encrypt2 = MultiFernet(test_list) # test_encrypted(encrypted message) -> test_rotated(different encrypted message) test_rotated = test_encrypt2.rotate(test_encrypted) print(test_rotated) # b'gAAAAABhlP69JXZTiDFYv8F5rCgrn_C0hpcbgk7u5tfK_tnKdG3z2K-I-gMykboZiHErdOeGz8KWG8JReJ5iOwRejztkDEtgXS9MkK9JRPi3yE2Bj3mPpnY=' print(test_encrypt2.decrypt(test_rotated)) # b'This is a string' | cs |
* 실행환경: Microsoft Windows 10 Homes
* 인터프리터: 파이썬(Python 3.9)
– 당신을 응원합니다. –
댓글
댓글 쓰기