1
나는 fernet 키를 거의 생성하지 않았고 참조 용으로 str 형식으로 저장했다. 이제 데이터를 암호 해독하기 위해 32 개의 URL로 안전한 base64로 인코딩 된 바이트에 str 형식으로이 fernet 키를 인코딩해야합니다.파이썬 디코딩 fernet 키
from cryptography.fernet import Fernet as frt
keys=set()
keybin='keys'
keybin=open(keybin,'w')
for i in range(r.randint(5,14)):
key=frt.generate_key()
keys.add(key.decode())
for k in keys:
keybin.write(str(k))
keybin.write('\n')
나는 파일을 액세스하고 s
key=linecache.getline(cfile,x).encode()
key=base64.b64encode(key)
print(key)
f=frt(key)
token =f.decrypt(s.encode())
을 해독하는 코드 아래 사용하고 있습니다하지만 나에게 아래의 오류주고있다 :
"Fernet key must be 32 url-safe base64-encoded bytes."
ValueError: Fernet key must be 32 url-safe base64-encoded bytes.
요 베이스 64에 키를 저장하면, str은 그렇게하지 않습니까? –
Fernet 키는 str로 변환되어 파일에 저장됩니다. 이제 나는이 문자열 값을 Fernet 키, 즉 32 개의 url-safe base64로 다시 인코딩해야합니다. –
이것에 대한 단서 ?????? –