Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Devolve o código de autenticação da mensagem hash com chave (HMAC) de message usar key e o hash algorithmdado . O resultado é devolvido como bytes MAC brutos; envolva-o com :func:hex ou :func:base64 para um valor textual. O algoritmo padrão é SHA-256.
Um HMAC verifica tanto a integridade como a autenticidade de uma mensagem usando um segredo keypartilhado: um destinatário que detenha o key mesmo pode recalcular o código e confirmar que a mensagem não foi alterada e veio de uma parte que conhece a chave. Usos comuns incluem assinar pedidos de API, validar cargas úteis de webhooks e derivar chaves de assinatura encadeando chamadas HMAC (por exemplo, AWS Signature Versão 4).
Syntax
from pyspark.sql import functions as sf
sf.hmac(key, message, algorithm=None)
Parameters
| Parameter | Tipo | Description |
|---|---|---|
key |
pyspark.sql.Column ou str |
A chave secreta, como valor binário. |
message |
pyspark.sql.Column ou str |
A mensagem a autenticar, como valor binário. |
algorithm |
pyspark.sql.Column ou força, opcional |
O algoritmo de hash. Valores válidos: SHA-224, SHA-256, SHA-384, SHA-512, SHA-1, MD5. O padrão é SHA-256. |
Returns
pyspark.sql.Column: Uma nova coluna que contém os bytes brutos do HMAC.
Examples
Exemplo 1: Calcular o HMAC com o algoritmo padrão SHA-256
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|
+----------------------------------------------------------------+
Exemplo 2: Calcular o HMAC com um algoritmo explícito
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|
+----------------------------------------+