Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Kullanılan key anahtarlı hash mesajı kimlik doğrulama kodunu (HMACmessage) ve verilen hash'i algorithmdöndürür. Sonuç ham MAC baytları olarak döner; metin değeri için :func:hex veya :func:base64 ile sarar. Varsayılan algoritmadır SHA-256.
Bir HMAC, paylaşılan bir sırrı keykullanarak mesajın hem bütünlüğünü hem de gerçekliğini doğrular: aynı key sırrı taşıyan bir alıcı kodu yeniden hesaplayabilir ve mesajın değiştirilmediğini, anahtarı bilen bir taraftan geldiğini doğrulayabilir. Yaygın kullanımlar arasında API isteklerini imzalamak, webhook yüklerini doğrulamak ve HMAC çağrılarını zincirleyerek imzalama anahtarları türetilmesi (örneğin, AWS Signature Version 4) bulunur.
Syntax
from pyspark.sql import functions as sf
sf.hmac(key, message, algorithm=None)
Parameters
| Parametre | Türü | Description |
|---|---|---|
key |
pyspark.sql.Column veya str |
Gizli anahtar, ikili bir değer olarak. |
message |
pyspark.sql.Column veya str |
Doğrulama mesajı, ikili bir değer olarak. |
algorithm |
pyspark.sql.Column veya str, isteğe bağlı |
Karma algoritması. Geçerli değerler: SHA-224, SHA-256, SHA-384, SHA-512, SHA-1, MD5. Varsayılan SHA-256'dır. |
Returns
pyspark.sql.Column: Ham HMAC baytlarını içeren yeni bir sütun.
Examples
Örnek 1: HMAC'ı varsayılan SHA-256 algoritmasıyla hesaplayın
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|
+----------------------------------------------------------------+
Örnek 2: HMAC'ı açık bir algoritma ile hesaplayın
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|
+----------------------------------------+