hashlibモジュール
- 例のMD5を暗号化する暗号化方式
- 標準モジュールで、直接導入することができます
- など、他の暗号化方法、あります。.sha1は()、SHA224を()などSHA256()、暗号化された文字列の長さが長く、より安全です。
まず、暗号化ステップ
図1は、第1の文字列は、バイナリ型に変換しました
使用.encode()バイナリ型を転送する方法を
輸入hashlib パスワード = 「123456 」 印刷(password.encode()) #の文字列を直接第1の暗号化暗号化することができバイナリ型に変換することはできません #の結果を:b'123456」を
2、使用される暗号化方式
使用)(.hexdigest方法は、暗号化されたコンテンツを出力
輸入hashlib パスワード = 「123456 」 M = hashlib.md5(password.encode()) #は、最初のバイナリに変換した後、暗号化された #1 あなたは両方を知りたいので、もしこの方法では、プロンプトを提供することはできませんので、印刷(DIR(M))#暗号化モジュールpycharmどのような方法で、あなたは、この文をプリントアウトするすべてのメソッドを使用することができます)(組み込み関数のDIRを使用することができます 印刷を()(m.hexdigest) #の結果:e10adc3949ba59abbe56e057f20f883e
3、暗号化されたコンテンツを印刷した後、
使用DIR()すべてのメソッド、変数の表示の組み込み関数を
モジュールが利用可能pycharm促す方法、すなわち、入力(M)はないので、「」アウト方法は、組み込み関数を使用することが可能であるDIRを()すべてのメソッドを印刷します。
#1 あなたは方法が何であるかを知りたい場合は、あなたが(組み込み関数のDIRを使用できるように暗号化モジュールpycharmは、プロンプト方法を提供しないので、印刷(DIR(M))#)、このステートメントは、プリントアウトするすべてのメソッドを使用することができます 印刷(メートル.hexdigest())
第二に、暗号化関連
1、テスト結果の暗号化
- あなたが暗号化の成功を確認するために、LEN()メソッドを使用できるように方法のためのMD5暗号化された文字列を、元の文字列が32でどのくらいに関係なく終了:
プリント((m.hexdigest())とも呼ばれます)
2、MD5暗号化は不可逆的である後
- ネットワーク上の原則を解読することができ、すなわち、ライブラリを打つ:一般的なパスワードの暗号化、完全なデータベースが存在し、その後、直接ライブラリを検索します。
入力された暗号化されたパスワードは、データベースを持ってしまった場合、あなたは、あなたのために対応する暗号化されたパスワードの前には実際に解読を返すことができるようになります。
3、他の暗号化方法
本明細書の実施例を暗号化するためのMD5暗号化、などの他の暗号化方法:。.sha1()、SHA224()、SHA256()など、暗号化された文字列の長さは、より長い、より高いセキュリティです。
第三に、塩
原理:
パスワード= 123456暗号化したい場合は、プレーンテキストのパスワードは暗号解読ライブラリを打つのは簡単、あまりにもシンプルなので、123456プラスランダムな文字列は、そのようなABCとして、これは文字列を暗号化123456abcし、実際にされた後、あなたは、ABC、逆解決策がわからない場合下の可能性、そしてより安全。このような文字列は、塩と呼ばれています。
塩= ' 545chjdsafl @ *&' パスワード =入力(' パスワード:' ) パスワード +塩= #塩の、塩及びパスワードの組み合わせ一緒に M = hashlib.md5(password.encode()) 結果 = m.hexdigest() プリント(結果)
第四に、実用的なアプリケーション
#の暗号化:パス値塩の値であれば、塩を暗号化し、そうでなければ直接暗号化された DEFの my_md5(S:STR、=塩なし): S =のSTR(S) であれば塩: S =秒+ 塩 M = hashlib.md5(s.encode()) を返す)(m.hexdigest
任意の賃金は良くなって、それだけの価値があります