Python
 Computer >> コンピューター >  >> プログラミング >> Python

Pythonを使用したメッセージ認証用のキー付きハッシュ


HMACはフレームワークであり、暗号化ハッシュ関数を使用したメッセージ認証に使用されます。 HMACは、MD5、SHA-1などに使用できます。

暗号化ハッシュを生成するための基本的な考え方は、実際のデータと秘密鍵に対してハッシュを実行することです。最終出力は秘密鍵なしで送信されます。

このモジュールを使用するには、Pythonコードにhmacモジュールをインポートする必要があります。

import hmac

hmacモジュールのいくつかのメソッドと属性は次のとおりです-

メソッドhmac.update(message)

このメソッドは、指定されたメッセージでhmacオブジェクトを更新するために使用されます。この関数を繰り返し呼び出すことは、引数を連結した1回の呼び出しと同等です。

メソッドhmac.digest()

このメソッドは、updateメソッドを介して渡されたダイジェストデータを返すために使用されます。バイトオブジェクトのサイズはdigest_sizeと同じです。 0から255までの全範囲のバイトが含まれる場合があります。

メソッドhashlib.hexdigest()

この方法はダイジェスト方法と同じですが、結果には16進値のみが含まれます。この方法は、インターネットを介して非常に簡単にデータを送信するために使用されます。

メソッドhashlib.copy()

このメソッドは、hmacオブジェクトのコピーを作成するために使用されます。より効率的な方法で文字列のダイジェストを計算するには、copy()メソッドが役立ちます。

サンプルコード

import hashlib
import hmac
update_bytes = b'Python123'
password = b'abcde1234'
my_hmac = hmac.new(update_bytes, password, hashlib.md5) #Create hash using md5 algorithm
print("The first digest: " + str(my_hmac.digest()))
print("The Canonical Name: " + my_hmac.name)
my_hmac_cpy = my_hmac.copy() #Create a copy of the hmac object
print("The Copied digest: " + str(my_hmac_cpy.digest()))

出力

The first digest: b"\x1c\xe1\xfb\x9b\xd4\x8bu\xb9\xe6N6\xee\x00O'}"
The Canonical Name: hmac-md5
The Copied digest: b"\x1c\xe1\xfb\x9b\xd4\x8bu\xb9\xe6N6\xee\x00O'}"

  1. Pythonを使用したSHAエンコーディング?

    データのセキュリティに関するすべてのIT企業の主要な懸念事項の1つ。データを投影して確認するために、複数のハッシュ手法があります。 ハッシュとは ハッシュは、可変長のバイトシーケンスを入力として受け取り、それを固定長シーケンスに変換する関数です。ただし、元のデータ(入力バイト)を元に戻すのは簡単ではありません。たとえば、xは入力で、fはハッシュ関数です。f(x)の計算はすばやく簡単ですが、xを再度取得するのは非常に時間のかかる作業です。 ハッシュ関数からの戻り値は、ハッシュ、チェックサム、ハッシュ値、またはメッセージダイジェストと呼ばれます。 上記を以下のように要約できます- 「

  2. Pythonを使用したMD5ハッシュエンコーディング?

    データのセキュリティに関するすべてのIT企業の主要な懸念事項の1つ。データを投影して確認するために、複数のハッシュ手法があります。 ハッシュとは ハッシュは、可変長のバイトシーケンスを入力として受け取り、それを固定長シーケンスに変換する関数です。ただし、元のデータ(入力バイト)を元に戻すのは簡単ではありません。たとえば、xは入力で、fはハッシュ関数です。f(x)の計算はすばやく簡単ですが、xを再度取得するのは非常に時間のかかる作業です。 ハッシュ関数からの戻り値は、ハッシュ、チェックサム、ハッシュ値、またはメッセージダイジェストと呼ばれます。 上記を以下のように要約できます- 「