文字列の暗号化

2015/11/14

Python2.7.10

ハッシュ化

ハッシュ値・・・同じ入力値からは必ず出力値が得られる。そして、出力値から入力値を導き出すことはできない(不可逆)

代表的なハッシュ関数、HD5、SHA1

import hashlib
print hashlib.md5('password').hexdigest()
print hashlib.sha1('password').hexdigest()


Python md5やshaのハッシュ値を取得する
http://fujishinko.exblog.jp/7817894/


暗号化

ハッシュ値からは元の値を取得することはできないけど、暗号化された値から元の値を解読したい。

AES暗号

AES暗号化・・・代表的な共通鍵暗号方式(可逆)で、高速処理できるのが特徴。

Pythonの標準機能だけでAES暗号化はできないっぽい。PyCryptoというモジュールを使う。


PyCryptoのインストール

Windowsでのインストールはインストーラーに合わせるだけ(pipやらeasy_installやらは、うまくいかない)。 ダウンロードは下から。

PyCrypto Prebuilt Python Binaries for Windows
http://www.voidspace.org.uk/python/modules.shtml#pycrypto


AES暗号化サンプルコード


PyCryptoで暗号化する
http://yoshi-python.blogspot.jp/2009/10/pycrypto.html