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 |