Я пытаюсь зашифровать значения некоторых столбцов, но зашифрованные значения оказываются идентичными для всех ячеек!
from cryptography.fernet import Fernet
import pandas as pd
# already generated the key using Fernet method in a separate file. Retrieving now
file = open ("key.key", "rb")
key = file.read()
file.close ()
record = pd.read_excel("test.xlsx")
#list of columns whose values are to be encrypted
encrypt_cols = ["IPFP APPLICATION ID","NAME OF IPFP FELLOW", "CNIC", "DATE OF BIRTH",
"AGE", "PRIMARY EMAIL", "PRIMARY CONTACT", "CURRENT MAILING ADDRESS", "Ticket No."]
#go inside each column
for i in range (len(encrypt_cols)):
#go inside each row of the current column
for j in range (len(record)):
f = Fernet (key)
#convert to string as some columns have integer based values
message = str(record.iloc[j, record.columns.get_loc(encrypt_cols[i])])
#encrpyt the cell value after encoding it to bytes
encrpyted = f.encrypt (message.encode())
#why is every encrypted message identical?
print (encrypted)
Однако, когда я пробую этот метод самостоятельно, просто чтобы проверить, неправильный ли код, шифрование работает!
for i in encrypt_cols:
f = Fernet (key)
temp = f.encrypt (str(i).encode()) #different encryption for each string!
res = f.decrypt (temp) #recovers original message successfully!
print (res.decode())
Я не могу понять, что идет не так. Может ли кто-нибудь помочь мне увидеть, что я пропустил?