hmac

사용된 messagekey 키드 해시 메시지 인증 코드(HMAC)와 주어진 해시 algorithm를 반환합니다. 결과는 원시 MAC 바이트로 반환됩니다; 텍스트 값으로 :func:hex 또는 :func:base64 로 감싸 주세요. 기본 알고리즘은 .입니다 SHA-256.

HMAC는 공유 비밀 key을 사용하여 메시지의 무결성과 진위성을 모두 검증합니다. 동일한 key 비밀을 보유한 수신자는 코드를 재계산하여 메시지가 변경되지 않았고 키를 아는 당사자로부터 온 것임을 확인할 수 있습니다. 일반적인 용도로는 API 요청 서명, 웹훅 페이로드 검증, 그리고 HMAC 호출을 연속하여 서명 키를 도출하는 것(예: AWS 서명 버전 4)이 있습니다.

Syntax

from pyspark.sql import functions as sf

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

매개 변수

매개 변수 Type 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|
+----------------------------------------+