라벨이 cryptography인 게시물 표시

파이썬[Python]: cryptography - rotate 메서드

cryptography 패키지 - fernet 모듈 - MultiFernet 클래스 - rotate 메서드(method) /// 설명 최초에 생성된 비밀키에 새로운 키를 추가하여 새로운 비밀키를 만듭니다. 그리고 나서 새로운 키로 암호화된 메세지를 다시 새로운 암호문으로 만듭니다. 복호화는 새롭게 만들어진 키로만 복호화를 할 수 있습니다. ※ 형식 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

파이썬[Python]: cryptography - decrypt_at_time 메서드

cryptography 패키지 - fernet 모듈 - MultiFernet 클래스 - decrypt_at_time 메서드(method) /// 설명 생성된 다수의 비밀키로 암호화한 데이터를 같은 비밀키로 복호화 합니다. 인자 ttl(secondes) 이 요구되어지며, 메세지가 암호화된 시간을 확인합니다. ※ 형식 multifernet.decrypt_at_time(token, ttl, current_time) /// 예제 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 import  time 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_time  =   int (time.time()) test_encrypted  =  test_encrypt.encrypt_at_time(test_str, test_time) print (test_encrypted) # b'gAAAAABhlPgL6LNujco09YvNu1NgWZkiEMvffHTirscueTuH7hetG8dyLHy5RvQDyao5cAknO1FSXa2LrnHqzC35YmBQKFVeKr-Da_V18rcQw90UDvXxwEA='   test_decrypted  =  test_encrypt.decrypt_at_time(test_encrypted, ttl = 10 , current_time = test_time) print (test_decrypted)   # b'This 

파이썬[Python]: cryptography - decrypt 메서드

cryptography 패키지 - fernet 모듈 - MultiFernet 클래스 - decrypt 메서드(method) /// 설명 생성된 다수의 비밀키로 암호화한 데이터를 같은 비밀키로 복호화 합니다. 인자 ttl(secondes) 이 주어진다면 그 시간안에 메세지를 확인하여야 합니다. ※ 형식 multifernet.decrypt(token) multifernet.decrypt(token, ttl=None) /// 예제 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 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'gAAAAABhlPa3wt67NlHQdxo_4bfZZgEYbrhvHR3kkb74vgkPHdEN_eXwLT7Gn4rrY_shtb7JDPS9KXxyklHQ2jz8miYyri1MIpIk5wQuXesMxNgKcb-02hM='   test_decrypted  =  test_encrypt.decrypt(test_encrypted) print (test_decrypted)   # b'This is a string'   Colored by Color Scripter cs * 실행환경: Microsoft Windows 10 Homes * 인터프리터: 파이썬(Python 3.9)

파이썬[Python]: cryptography - encrypt_at_time 메서드

cryptography 패키지 - fernet 모듈 - MultiFernet 클래스 - encrypt_at_time 메서드(method) /// 설명 생성된 다수의 비밀키로 데이터를 암호화 하며, 다수의 생성키는 리스트를 사용합니다.(현재시간 timestamp 가 포함되어 있습니다.) ※ 형식 multifernet.encrypt_at_time(data, current_time) /// 예제 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 import  time 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_at_time(test_str,  int (time.time())) print (test_encrypted) # b'gAAAAABhlPWk1GzBGIs9Yfq0urmgm4iG8a9hhTqGQ3h84_wtRKbx2hMTdxkFqpBJcmNlV5MiAXxQG50evxfLNmZlk76y_bx7LZP62wFFuHC1ZlR1OQSs15Q='   Colored by Color Scripter cs * 실행환경: Microsoft Windows 10 Homes * 인터프리터: 파이썬(Python 3.9) – 당신을 응원합니다. –

파이썬[Python]: cryptography - encrypt 메서드

cryptography 패키지 - fernet 모듈 - MultiFernet 클래스 - encrypt 메서드(method) /// 설명 생성된 다수의 비밀키로 데이터를 암호화 합니다. 다수의 생성키는 리스트를 사용하며, MultiFernet은 리스트의 첫번째 비밀키로 모든 암호화 옵션을 수행합니다. ※ 형식 multifernet.encrypt(data) /// 예제 1 2 3 4 5 6 7 8 9 10 11 12 13 14 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'gAAAAABhlPOf_fauWnKkkeWhqfJag4_X1xYXoYUAvBaZtdGebMi2iMfeK107NETi3J_L6-cfGuRDnGTAjtwrRerzScK4-bVETwIdh9ORHAB3WnE1eNez3OE='   Colored by Color Scripter cs * 실행환경: Microsoft Windows 10 Homes * 인터프리터: 파이썬(Python 3.9) – 당신을 응원합니다. –

파이썬[Python]: cryptography - extract_timestamp 메서드

cryptography 패키지 - fernet 모듈 - Fernet 클래스 - extract_timestamp 메서드(method) /// 설명 암호화된 데이터에 들어 있는 timestamp를 추출합니다.(암호화된 시간을 알 수 있습니다.) ※ 형식 fernet.extract_timestamp(token) /// 예제 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 import  time from  cryptography.fernet  import  Fernet   test_str  =  b 'This is a string' test_key  =  Fernet.generate_key() print (test_key)   # b'hPCkGpegp40skx6s2hP0Fz5AEiE-YAEx7n5urzWjJoo='   test_encrypt  =  Fernet(test_key) test_time  =   int (time.time()) test_encrypted  =  test_encrypt.encrypt_at_time(test_str, test_time) print (test_encrypted) # b'gAAAAABhlPFjwlr4SQdduf0Ayey6rnD1htUmXkOE3kuwrlGH8-3DKBgJ0O__qPFJsC61zFV9ddPsRWp4f2WCPvJoddfr_pMhs8E5dnEUSqjTa9gg9uhz-Kw='   test_extract  =  test_encrypt.extract_timestamp(test_encrypted) test_strtime  =  time.strftime( '%Y-%m-%d %H:%M:%S' , time.localtime(test_extract)) print (test_extract,  ' ---> ' , test_strtime)  # 1637151075  --->  2021-11-1

파이썬[Python]: cryptography - decrypt_at_time 메서드

cryptography 패키지 - fernet 모듈 - Fernet 클래스 - decrypt_at_time 메서드(method) /// 설명 생성된 비밀키로 암호화한 데이터를 같은 비밀키로 복호화 합니다. 인자 ttl(secondes) 이 요구되어지며, 메세지가 암호화된 시간을 확인합니다. ※ 형식 fernet.decrypt_at_time(token, ttl, current_time) /// 예제 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 import  time from  cryptography.fernet  import  Fernet   test_str  =  b 'This is a string' test_key  =  Fernet.generate_key() print (test_key)   # b'FUjPJywI9W24YI3FLp67BQZTa2C0D6Hz3WoE4rnEZYU='   test_encrypt  =  Fernet(test_key) test_time  =   int (time.time()) test_encrypted  =  test_encrypt.encrypt_at_time(test_str, test_time) print (test_encrypted) # b'gAAAAABhlO55QUtLeYQQ9k_k6ySxPrS9DsTqF8MVpUmcjXE-_T6LGob91USssrD_yDDaA3C8QafMsd_fWQFYKdISfDDTpYMec6_qKMcaGA7fLPedHIRUW6Y='   test_decrypted  =  test_encrypt.decrypt_at_time(test_encrypted, ttl = 10 , current_time = test_time) print (test_decrypted)   # b'This is a string'   Colored by Color Scripter cs * 실행환경: Microsoft Wind

파이썬[Python]: cryptography - decrypt 메서드

cryptography 패키지 - fernet 모듈 - Fernet 클래스 - decrypt 메서드(method) /// 설명 생성된 비밀키로 암호화한 데이터를 같은 비밀키로 복호화 합니다. 인자 ttl(secondes) 이 주어진다면 그 시간안에 메세지를 확인하여야 합니다. ※ 형식 fernet.decrypt(token) fernet.decrypt(token, ttl=None) /// 예제 1 2 3 4 5 6 7 8 9 10 11 12 13 14 from  cryptography.fernet  import  Fernet   test_str  =  b 'This is a string' test_key  =  Fernet.generate_key() print (test_key)   # b'T-fJZ84Um-1ZJRsF3_AQR4g2kYU8ol_8PIHcAMOLSJk='   test_encrypt  =  Fernet(test_key) test_encrypted  =  test_encrypt.encrypt(test_str) print (test_encrypted) # b'gAAAAABhlOuT00To658nj-dduxXEFrysHd-QK1dtuWzC5iyNKpTeo90b7uJ4u7gsHU4hAitdeoRybw1AfedW6rNvknM9_bMpDBBinGfhIuCsreb-0NxBoMM='   test_decrypted  =  test_encrypt.decrypt(test_encrypted) print (test_decrypted)   # b'This is a string'   Colored by Color Scripter cs * 실행환경: Microsoft Windows 10 Homes * 인터프리터: 파이썬(Python 3.9) – 당신을 응원합니다. –

파이썬[Python]: cryptography - encrypt_at_time 메서드

cryptography 패키지 - fernet 모듈 - Fernet 클래스 - encrypt_at_time 메서드(method) /// 설명 생성된 비밀키로 데이터를 암호화 합니다. (현재시간 timestamp 가 포함되어 있습니다.) ※ 형식 fernet.encrypt_at_time(data, current_time) /// 예제 1 2 3 4 5 6 7 8 9 10 11 12 import  time from  cryptography.fernet  import  Fernet   test_str  =  b 'This is a string' test_key  =  Fernet.generate_key() print (test_key)   # b'I-9Uuzop5yK22Ox4qhnrIKUPqtA5KEEe9OwztWUTm50='   test_encrypt  =  Fernet(test_key) test_encrypted  =  test_encrypt.encrypt_at_time(test_str,  int (time.time())) print (test_encrypted) # b'gAAAAABhlOl_ud2a68Qid_2D-wPq9EKsRm4R68Pn1Xk2qK_BKSsQaKMxdbgcKOF7z_Dm1gPd__iyCFQBswJ9nF8NJ0otU09i2jkHHoh73FGzpsqaoqM78A4='   Colored by Color Scripter cs * 실행환경: Microsoft Windows 10 Homes * 인터프리터: 파이썬(Python 3.9) – 당신을 응원합니다. –

파이썬[Python]: cryptography - encrypt 메서드

cryptography 패키지 - fernet 모듈 - Fernet 클래스 - encrypt 메서드(method) /// 설명 생성된 비밀키로 데이터를 암호화 합니다. 암호화된 데이터는 URL-safe base64-encoded 되어 있습니다. ※ 형식 fernet.encrypt(data) /// 예제 1 2 3 4 5 6 7 8 9 10 11 from  cryptography.fernet  import  Fernet   test_str  =  b 'This is a string' test_key  =  Fernet.generate_key() print (test_key)   # b'1Y4xIIiIGOUZLu1iKjmo3dmHgMagrVUE--5N72voRBI='   test_encrypt  =  Fernet(test_key) test_encrypted  =  test_encrypt.encrypt(test_str) print (test_encrypted) # b'gAAAAABhlOfXxN_D6o2itICS9h7yhzGBgRxxu23zLRTugZw2nTL857KotEWpu208rViGqHp768KPf_EmyfjQSLHeEt3l6gjknPessKkOu-KiGH-lAMcCi4U='   Colored by Color Scripter cs * 실행환경: Microsoft Windows 10 Homes * 인터프리터: 파이썬(Python 3.9) – 당신을 응원합니다. –

파이썬[Python]: cryptography - generate_key 메서드

cryptography 패키지 - fernet 모듈 - Fernet 클래스 - generate_key 메서드(method) /// 설명 비밀키 암호화에서 새로운 키(key)를 생성합니다. Fernet(대칭 암호화) ※ 형식 Fernet.generate_key() /// 예제 1 2 3 4 5 6 from  cryptography.fernet  import  Fernet   test_key  =  Fernet.generate_key()   print (test_key)   # b'GOPmwJOQna48R85xukQtfc0VA9Jw7XSikP9EOkvT90w='   Colored by Color Scripter cs * 실행환경: Microsoft Windows 10 Homes * 인터프리터: 파이썬(Python 3.9) – 당신을 응원합니다. –