ホームページ  >  記事  >  バックエンド開発  >  Python md5 および sha1 暗号化アルゴリズムの詳細な紹介

Python md5 および sha1 暗号化アルゴリズムの詳細な紹介

零下一度
零下一度オリジナル
2017-07-16 13:55:052958ブラウズ

この記事では、md5 レベルの sha1 暗号化アルゴリズムの概念と原理を簡単に紹介し、例の形で分析します Python hashlib モジュールを使用して暗号化関数を実装するための具体的な操作スキルを必要とする友人は参照できます

If、md5、sha1 暗号化されたコンテンツが多すぎるため、次のように使用できます:

[python]  
m = hashlib.md5()  
m.update('a')  
m.update('b')  
s = m.hexdigest()  
#效果等于m = hashlib.md6('ab').hexd

MD5

MD5 の正式名は、Message-Digest Algorithm 5 (Message-AbstractAlgorithm) です。 1990 年代初頭に MIT Laboratory for Computer Science と RSA Data によって開発されました。Security Inc の Ronald L. Rivest によって開発され、MD2、MD3、および MD4 から開発されました。これは不可逆的な暗号化アルゴリズムであり、現在、この操作を元に戻すことができるプログラムはまだ開発されていません。

特徴:

第一に、MD5 コードの元のテキストが何であるかを知る体系的な方法はありません。

第二に、このコードは非常に離散的であり、従うべきルールがありません。元の情報の小さな変更でも、MD5 では大きな変更につながるため、生成される MD5 コードは予測不可能であるとも言えます。

最後に、このコードの長さは 128 ビットであるため、メッセージ間で同じ MD5 コードが存在する可能性は非常に低く、一般に不可能であると考えられています。

用途:

一般に、MD5 コードは元の情報の特性を一意に表現できると考えられており、通常、パスワード、デジタル署名、ファイル整合性検証などの暗号化された保存に使用されます。

SHA1 SHA1 の正式名は Secure Hash Algorithm (

Secure

Hash アルゴリズム) で、DSA で使用するために NIST NSA によって設計されており、長さが 264 未満の入力に対して長さ 160 ビットのハッシュ値を生成します。暴力に対する耐性が優れています。 SHA-1 は MD4 と同じ原理に基づいて設計されており、このアルゴリズムを模倣しています。 SHA-1 は、国立標準技術研究所 (NIST) によって公布された国家標準であり、最も広く使用されているハッシュ関数アルゴリズムであり、現在政府部門や民間所有者によって機密情報を処理するために使用されています。情報。 。 SHA-1 は MD5 に基づいており、MD5 は MD4 に基づいています。 SHA-1 には MD5 よりも暗号文ビットが 32 ビット多いため、より安全です。同じ理由で、MD5 は SHA-1 よりも高速に動作します。

使用例:

Python の hashlib モジュールは、特にハッシュ アルゴリズムを提供するライブラリです。これには、md5、sha1、sha224、sha256、sha384、および sha512 が含まれており、非常にシンプルで使いやすいです。使用方法は次のとおりです:

import hashlib
hash_new = hashlib.sha1() #或hashlib.md5()
with open('driver.xml.tar.bz2','rb') as fp: #打开文件,一定要以二进制打开
  while True:
    data = fp.read() #读取文件块
    if not data: #直到读完文件
      break
    hash_new.update(data)
hash_value = hash_new.hexdigest() #生成40位(sha1)或32位(md5)的十六进制字符串
print hash_value

以上がPython md5 および sha1 暗号化アルゴリズムの詳細な紹介の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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