Pythonを使って文字列を暗号化・複合化する方法は何ですか?
Pythonで文字列を暗号化および復号化するために多くの方法が利用できますが、以下は一般的な方法の1つです。
- Base64モジュールを使用して暗号化と復号化を行う:
import base64
# 加密字符串
def encrypt_string(text):
encrypted_text = base64.b64encode(text.encode()).decode()
return encrypted_text
# 解密字符串
def decrypt_string(encrypted_text):
decrypted_text = base64.b64decode(encrypted_text.encode()).decode()
return decrypted_text
# 测试
text = "Hello, World!"
encrypted_text = encrypt_string(text)
decrypted_text = decrypt_string(encrypted_text)
print("原始字符串:", text)
print("加密后的字符串:", encrypted_text)
print("解密后的字符串:", decrypted_text)
結果を出力します。
原始字符串: Hello, World!
加密后的字符串: SGVsbG8sIFdvcmxkIQ==
解密后的字符串: Hello, World!
このコードは、base64エンコーディングを使用して暗号化および復号化を行っています。暗号化プロセスでは、まず文字列をバイト型にエンコードし、次にbase64モジュールのb64encodeメソッドを使用してエンコードし、その結果を文字列型に変換します。復号化プロセスでは、まず文字列をバイト型に変換し、次にbase64モジュールのb64decodeメソッドを使用してデコードし、その結果を文字列型に変換します。
base64エンコーディングは暗号化アルゴリズムではなく、単なるエンコーディング方式であり、バイナリデータを読みやすい文字列形式に変換するものです。そのため、base64エンコーディングの結果は解読し、元のデータに戻すことができます。より高度な暗号化アルゴリズムが必要な場合は、cryptographyやpycryptodomeなどの他のモジュールやライブラリを検討してください。