hmac
message の指定されたハッシュ algorithm および key を使用して、keyed-hash メッセージ認証コード (HMAC) を返します。結果は生の MAC バイトとして返されます。テキスト値を取得するには、:func:hex または :func:base64 でラップしてください。The defaultのアルゴリズムは SHA-256 です。
HMAC は、共有シークレット key を使用してメッセージの整合性と信頼性の両方を検証します。同じ key を保持する受信者は、コードを再計算し、メッセージが改ざんされておらず、キーを知っている当事者からのものであることを確認できます。一般的な用途には、API リクエストの署名、Webhook ペイロードの検証、および HMAC 呼び出しの連鎖による署名キーの導出(例:AWS Signature Version 4)が含まれます。
構文
from pyspark.sql import functions as sf
sf.hmac(key, message, algorithm=None)
パラメーター
パラメーター | Type | 説明 |
|---|---|---|
|
| バイナリ値としてのシークレットキー。 |
|
| バイナリ値としての、認証するメッセージ。 |
|
| ハッシュアルゴリズム。有効な値: SHA-224、SHA-256、SHA-384、SHA-512、SHA-1、MD5。default は SHA-256 です。 |
戻り値
pyspark.sql.Column: 生の HMAC バイトを含む新しい列。
例
例 1 : default の SHA-256 アルゴリズムを使用して HMAC をコンピュートする
from pyspark.sql import functions as sf
df = spark.createDataFrame([("key", "message")], ["key", "message"])
df.select(sf.hex(sf.hmac(df.key, df.message))).show(truncate=False)
+----------------------------------------------------------------+
|hex(hmac(key, message, SHA-256)) |
+----------------------------------------------------------------+
|6E9EF29B75FFFC5B7ABAE527D58FDADB2FE42E7219011976917343065F58ED4A|
+----------------------------------------------------------------+
例 2 :明示的なアルゴリズムを使用して HMAC をコンピュートする
from pyspark.sql import functions as sf
df = spark.createDataFrame([("key", "message")], ["key", "message"])
df.select(sf.hex(sf.hmac(df.key, df.message, sf.lit("SHA-1")))).show(truncate=False)
+----------------------------------------+
|hex(hmac(key, message, SHA-1)) |
+----------------------------------------+
|2088DF74D5F2146B48146CAF4965377E9D0BE3A4|
+----------------------------------------+