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|
+----------------------------------------+