コンテンツへスキップ

文字列暗号化

文字列暗号化のサンプルコードです。

# 暗号化モジュール
from cryptography.fernet import Fernet

# 暗号化鍵の作成、読み込み
key = Fernet.generate_key()
fernet = Fernet(key)

# データフレームの特定の列をバイト列に変換し、暗号化
for index, row in df_users.iterrows():
    password_byte = df_users.at[index, 'password'].encode()  
    df_users.at[index, 'password'] = fernet.encrypt(password_byte)

# データフレームと鍵をpickleファイルに出力(既にあれば上書き)
with open('users.pkl', mode='wb') as f:
    pickle.dump(key, f)
    pickle.dump(df_users, f)

# pickelファイルから暗号化鍵とデータフレームの読み込み
with open('users.pkl', mode='rb') as f:
    key = pickle.load(f)
    fernet = Fernet(key)
    df_users = pickle.load(f)

# データフレームの特定の列を復号化し、バイト列を文字列に戻す
for index, row in df_users.iterrows():
    password_byte = fernet.decrypt(df_users.at[index, 'password'])
    df_users.at[index, 'password'] = password_byte.decode()