> ## Documentation Index
> Fetch the complete documentation index at: https://docs.projectreal.gg/llms.txt
> Use this file to discover all available pages before exploring further.

# crypt.hmac

> يحسب crypto library HMAC على بايتات Lua string باستخدام raw Lua string key ويعيد Base64 digest.

<div className="real-function-page">
  ```lua theme={null}
  crypt.hmac(key: string, data: string, algorithm?: "sha256" | "sha1" | "sha224" | "sha384" | "sha512" | "md5"): string
  ```

  ## الوسائط

  <ParamField path={"key"} type={"string"} required>
    بايتات raw Lua string المستخدمة كـ HMAC key. لا يتم Base64-decode للـ key.
  </ParamField>

  <ParamField path={"data"} type={"string"} required>
    بايتات Lua string التي تمرر إلى HMAC calculation.
  </ParamField>

  <ParamField path={"algorithm"} type={"\"sha256\" | \"sha1\" | \"sha224\" | \"sha384\" | \"sha512\" | \"md5\""}>
    اسم HMAC algorithm case-sensitive. القيمة الافتراضية هي sha256.
  </ParamField>

  ## القيم الراجعة

  <ResponseField name={"digest"} type={"string"}>
    Base64-encoded HMAC output بدون line breaks.
  </ResponseField>

  ## مثال

  احسب Base64 HMAC output من raw Lua string key و data.

  ```lua theme={null}
  local key = "shared secret"
  local data = "payload"
  local digest = crypt.hmac(key, data, "sha256")

  print(digest)
  ```
</div>
