사용된 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|
+----------------------------------------+