ホームページ >バックエンド開発 >Python チュートリアル >Python 暗号化モジュール md5、sha、crypt の使用例

Python 暗号化モジュール md5、sha、crypt の使用例

WBOY
WBOYオリジナル
2016-06-16 08:41:341617ブラウズ

MD5 (メッセージ ダイジェスト アルゴリズム 5) モジュールは、メッセージ暗号文 (メッセージ ダイジェスト) を計算し、128 ビット暗号文を取得するために使用されます。 sha モジュールは md5 に似ていますが、160 ビットの署名を生成します。使い方は同じです。

次の例では md5 を使用します:

コードをコピー コードは次のとおりです:

# /usr/bin/python
# -*- コーディング:utf-8 -*-
インポートbase64
試してみてください:
ハッシュリブをインポート
ハッシュ = hashlib.md5()
ImportError を除く:
# Python の場合
md5 をインポート
ハッシュ = md5.new()
hash.update('スパム、スパム、卵')
値 = hash.digest()
print repr(value) #取得するのはバイナリ文字列です
print hash.hexdigest() #取得するのは 16 進数値です
printbase64.encodestring(value) #base64の値を取得

コードをコピー コードは次のとおりです:

# /usr/bin/python
# -*- コーディング:utf-8 -*-
# クライアントとサーバー間で通信される情報の検証

文字列をインポート
ランダムにインポート

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 つ。

コードをコピー コードは次のとおりです:

# /usr/bin/python
# -*- コーディング:utf-8 -*-

暗号をインポート
インポートランダム、文字列

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

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。