CryptographyはPythonで簡単に使用できる暗号化ライブラリです。このライブラリを使って、ファイルの暗号化や復号化を行う方法を紹介します。
ACryptographyのインストール
まずはじめに、Cryptographyをインストールします。Cryptographyはpipでインストールできます。
pip install cryptography
ファイルの暗号化
Cryptographyを使ってファイルの暗号化を行うために、以下のコードを実行します。
from cryptography.fernet import Fernet # キーを生成する key = Fernet.generate_key() # キーファイルを作成する with open('key.key', 'wb') as file: file.write(key) # キーファイルを読み込む with open('key.key', 'rb') as file: key = file.read() # Fernetオブジェクトを作成する fernet = Fernet(key) # ファイルを読み込む with open('original_file.txt', 'rb') as file: original = file.read() # ファイルを暗号化する encrypted = fernet.encrypt(original) # 暗号化したファイルを保存する with open('encrypted_file.txt', 'wb') as file: file.write(encrypted)
このコードでは、Fernetオブジェクトを使ってファイルを暗号化しています。まず、ランダムなキーを生成し、キーファイルを作成します。次に、キーファイルを読み込んで、Fernetオブジェクトを作成します。その後、暗号化したいファイルを読み込み、Fernetオブジェクトを使ってファイルを暗号化します。最後に、暗号化されたファイルを保存します。
ファイルの復号化
次に、暗号化されたファイルを復号化するためのコードを紹介します。以下のコードを実行してください。
from cryptography.fernet import Fernet # キーファイルを読み込む with open('key.key', 'rb') as file: key = file.read() # Fernetオブジェクトを作成する fernet = Fernet(key) # 暗号化されたファイルを読み込む with open('encrypted_file.txt', 'rb') as file: encrypted = file.read() # ファイルを復号化する decrypted = fernet.decrypt(encrypted) # 復号化したファイルを保存する with open('decrypted_file.txt', 'wb') as file: file.write(decrypted)
このコードでは、暗号化されたファイルを復号化するために、同じキーファイルを読み込み、Fernetオブジェクトを作成します。次に、暗号化されたファイルを読み込み、Fernetオブジェクトを使ってファイルを復号化します。最後に、復号化したファイルを保存します。
まとめ
Pythonを使ってファイルの暗号化や復号化ができるようになりました。ただし、この方法で使用される暗号化アルゴリズムであるFernetは、暗号化アルゴリズムとしては比較的簡単なものであり、セキュリティレベルが不十分な場合があります。つまり、この方法はセキュリティに対して完全ではないため、より高度な暗号化を必要とする場合は、より複雑な暗号化アルゴリズムを使用する必要があります。
また、このコードでは、キーが平文で保存されているため、不正アクセスを受けた場合には、キーが盗まれる可能性があります。このため、キーを暗号化して保存することが推奨されます。
以上が、Cryptographyを使ってPythonでファイルの暗号化や復号化を行う方法の簡単な紹介でした。これらのプログラムはPythonの基本的な文法とライブラリで実装することができます。Pythonの基礎学習には下記のようなサイトの利用が有効です。