hmac

keyと与えられたハッシュalgorithmを用いて、messageのキードハッシュメッセージ認証コード(HMAC)を返します。 結果は生のMACバイトとして返されます。テキスト値として:func:hex または:func:base64 でラップします。 既定のアルゴリズムは SHA-256です。

HMACは共有秘密 keyを用いてメッセージの整合性と真正性の両方を検証します。同じ key を持つ受信者はコードを再計算し、メッセージが改ざんされておらず、鍵を知る第三者からのものであることを確認できます。 一般的な用途には、APIリクエストの署名、ウェブフックペイロードの検証、HMACコールを連鎖して署名キーを導出すること(例:AWS Signature Version 4)があります。

Syntax

from pyspark.sql import functions as sf

sf.hmac(key, message, algorithm=None)

パラメーター

パラメーター タイプ Description
key pyspark.sql.Column または str 秘密鍵は二進値として。
message pyspark.sql.Column または str 認証するメッセージは、二進数の価値として。
algorithm pyspark.sql.Column または str、省略可能 ハッシュ アルゴリズム。 有効値は以下の通りです:SHA-224、SHA-256、SHA-384、SHA-512、SHA-1、MD5。 デフォルトはSHA-256です。

Returns

pyspark.sql.Column: 生のHMACバイトを含む新しい列です。

Examples

例1:デフォルトの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|
+----------------------------------------+