Python/Python__works

python pickle aes

말하는감자 2020. 2. 13. 18:51

ERROR

AES로 데이터 몇개를 암호화 해서 사용하게 되었는데
이리저리 내보내면서 읽고 쓰다보니 pickle?? 뭐 이런 오류가 나서 찾아보게 되었어요
AES에 대한 내용은 생략..
일단 간략하게 암호화했습니다.

body = {
    "key": "암호화키값",
        "id": "아이디"
}
aes = AESCipher(body['key'])
id = aes.encrypt(body['id'])

여기까지 하면 id에 암호화 된 id가 들어있을거에요
이 아이디를 이용해서 로그인등을 시도할때는 복호화 해서 사용합니다

id = aes.decrypt(id)

기본적으로 값을 들고 다닐때는 암호화 된 상태로 들고 다녀요.
근데 주고받고 하다보면 아예 읽지를 못하고 오류가 날때가 있어요.
can't pickle ~~ 

뭐 이런...
https://docs.python.org/ko/3/library/pickle.html

 

SOLUTION

import dill as pickle
body = {
    "key": "암호화된키값",
        "id": "아이디"
}
#피클로 덤프해주세요
aes = pickle.dumps(AESCipher(body['key']))
#암호화
id_by_enc = pickle.loads(aes).encrypt(body['id'])
#복호화
id_by_dec = pickle.loads(aes).decrypt(id_by_end)

'Python > Python__works' 카테고리의 다른 글

python json.loads  (0) 2020.02.18
slacker  (0) 2020.02.13
socket으로 서버 이름 확인하기  (0) 2020.02.13
application.yml 에서 db 접속 정보 읽어오기  (0) 2020.02.13
async, loop 등등  (0) 2020.02.13