ホームページ >バックエンド開発 >Python チュートリアル >Python 暗号化モジュール md5、sha、crypt の使用例
MD5 (メッセージ ダイジェスト アルゴリズム 5) モジュールは、メッセージ暗号文 (メッセージ ダイジェスト) を計算し、128 ビット暗号文を取得するために使用されます。 sha モジュールは md5 に似ていますが、160 ビットの署名を生成します。使い方は同じです。
次の例では md5 を使用します:
文字列をインポート
ランダムにインポート
def getchallenge():
チャレンジ = マップ(ラムダ i: chr(random.randint(0,255)),range(16))
戻り値 string.join(challenge,"")
def getresponse(パスワード,チャレンジ):
試してみてください:
ハッシュリブをインポート
ハッシュ = hashlib.md5()
ImportError を除く:
# Python の場合
md5 をインポート
ハッシュ = md5.new()
hash.update(パスワード)
hash.update(チャレンジ)
hash.digest()を返します
print "クライアント: ","connect"
チャレンジ= getchallenge()
print "サーバー: ",repr(チャレンジ)
client_response = getresponse("trustno1",challenge)
print "クライアント: ",repr(client_response)
server_response = getresponse("trustno1",challenge)
if client_response == server_response:
「サーバー:」、「ログインOK」を印刷します
crypt モジュール (Unix のみ) は、一方向 DES 暗号化を実装します。Unix システムは、この暗号化アルゴリズムを使用してパスワードを保存します。このモジュールは、そのようなパスワードをチェックする場合にのみ役立ちます。
次の例は、crypt.crypt を使用してパスワードを暗号化し、パスワードとソルトを組み合わせて関数に渡す方法を示しています。ここでのソルトには、元のパスワードを破棄して、パスワードのみを保存できます。暗号化された文字列の 1 つ。
暗号をインポート
インポートランダム、文字列
def getsalt(chars = string.letters+string.digitals):
random.choice(chars)+random.choice(chars)
塩 = getsalt()
プリントソルト
print crypt.crypt('バナナ',塩)
追記: 暗号化技術に関しては、このサイトでは参考のために次の暗号化ツールも提供しています:
MD5 オンライン暗号化ツール: http://tools.jb51.net/password/CreateMD5Password
エスケープ暗号化/復号化ツール: http://tools.jb51.net/password/escappwd
オンライン SHA1 暗号化ツール: http://tools.jb51.net/password/sha1encode
ショートリンク (短縮 URL) オンライン生成ツール: http://tools.jb51.net/password/dwzcreate
ショートリンク (短縮 URL) オンライン復元ツール: http://tools.jb51.net/password/unshorturl
強力なパスワード ジェネレーター: http://tools.jb51.net/password/CreateStrongPassword