Pythonでの暗号化:Cryptographyを使って文字列の暗号化や復号化を行う方法

Pythonは、暗号化や復号化を行うために多数のライブラリを提供しています。その中でも、CryptographyはPythonで一般的に使用される暗号化ライブラリの1つです。このライブラリを使用すると、機密情報を安全に保護できます。この記事では、Cryptographyを使用して文字列を暗号化する方法について説明します。

Cryptographyのインストール

Cryptographyを使用するには、まずライブラリをインストールする必要があります。以下のコマンドを使用して、Cryptographyをインストールできます。

pip install cryptography

暗号技術入門第3版 秘密の国のアリス [ 結城浩 ]

文字列の暗号化

Cryptographyを使用して文字列を暗号化する方法を次のコードで示します。

from cryptography.fernet import Fernet

# キーを生成
key = Fernet.generate_key()

# Fernetオブジェクトを作成
f = Fernet(key)

# 暗号化する文字列
message = "この文字列を暗号化する"

# メッセージをバイト列に変換
message_bytes = message.encode()

# メッセージを暗号化
encrypted_message = f.encrypt(message_bytes)

print(encrypted_message)

上記のコードでは、まずFernetオブジェクトをインスタンス化し、暗号化に使用する鍵を生成します。次に、暗号化する文字列をバイト列に変換し、Fernetオブジェクトのencryptメソッドを使用して暗号化します。

情報セキュリティの敗北史 脆弱性はどこから来たのか [ アンドリュー・スチュワート ]

文字列の復号化

暗号化された文字列を復号化する方法を次のコードで示します。

from cryptography.fernet import Fernet

# 復号化に使用するキー
key = b'2rZjKmctpx1_Scc_bfJFOnmLjgNX9AJlXHlPsgxgQr8='

# Fernetオブジェクトを作成
f = Fernet(key)

# 復号化する文字列
encrypted_message = b'gAAAAABhDpI1szEEj3kn5d_-0mfY5B5ux5E7q-iZmc8nCnLhHLNwGv_d_LaTXW8ouhKXn-SpALhfC7lT6A8kb6IRHmLj_gu4zQ=='

# メッセージを復号化
decrypted_message = f.decrypt(encrypted_message)

# 復号化したメッセージを文字列に変換
decrypted_message = decrypted_message.decode()

print(decrypted_message)

上記のコードでは、復号化に使用するキーを指定し、暗号化された文字列を復号化します。Fernetオブジェクトのdecryptメソッドを使用して、暗号化された文字列を復号化します。そして、decode()メソッドを使用して、復号化したメッセージを文字列に変換します。

安全なキーの管理

Cryptographyでは、鍵の生成と管理を自動化することができます。以下のコードでは、鍵の生成と管理を自動化するために、cryptography.fernet.Fernetクラスのgenerate_key()メソッドを使用します。

from cryptography.fernet import Fernet

# Fernetオブジェクトを作成
f = Fernet.generate_key()

# 暗号化する文字列
message = "この文字列を暗号化する"

# メッセージをバイト列に変換
message_bytes = message.encode()

# メッセージを暗号化
encrypted_message = f.encrypt(message_bytes)

print(encrypted_message)

# 復号化したメッセージを文字列に変換
decrypted_message = f.decrypt(encrypted_message).decode()

print(decrypted_message)

上記のコードでは、Fernet.generate_key()メソッドを使用して、自動的に鍵を生成します。生成された鍵はバイト列であり、Fernetオブジェクトを作成するために直接使用することができます。

まとめ

PythonのCryptographyライブラリを使用して、文字列を暗号化する方法と、暗号化された文字列を復号化する方法について説明しました。また、鍵の生成と管理についても説明しました。CryptographyはPythonの標準的な暗号化ライブラリの1つであり、情報の安全な保管に役立つことができます。最後にPythonの学習に利用できるUdemy iconのサイトを紹介します。ぜひ活用ください。

[PR]

click.linksynergy.com

click.linksynergy.com

click.linksynergy.com

click.linksynergy.com

click.linksynergy.com