> ## 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.

# getscripthash

> Renvoie un uppercase SHA384 hex digest pour le stored bytecode string d une Roblox script object. L argument doit etre object. Le helper partage GetBytecode accepte les valeurs ClassName ModuleScript, LocalScript, CoreScript et Script. Pour Script, RunContext doit etre Client. Si ClassName manque, la function leve "Invalid Instance". Si ClassName n est pas une des script classes prises en charge, elle leve "Script expected". Si la valeur est un Script avec un autre RunContext, elle leve "Expected a Script with RunContext set to Client". Si le embedded bytecode reference est invalide ou si la longueur du stored bytecode est de 8 bytes ou moins, la function renvoie nil. Sinon, elle calcule SHA384 sur les stored bytecode bytes exacts et renvoie le uppercase hex string. L function n appelle pas DecompressBytecode et ne hashe pas le decompressed bytecode.

<div className="real-function-page">
  ```lua theme={null}
  getscripthash(script: userdata): string | nil
  ```

  ## Arguments

  <ParamField path={"script"} type={"userdata"} required>
    Script object a hasher. Les valeurs ClassName prises en charge sont ModuleScript, LocalScript, CoreScript et Script avec RunContext Client.
  </ParamField>

  ## Retours

  <ResponseField name={"hash"} type={"string | nil"}>
    Uppercase SHA384 hex digest des stored bytecode bytes, ou nil quand aucun embedded bytecode utilisable n est disponible.
  </ResponseField>

  ## Exemple

  Hash the bytecode of a supported Roblox script Instance when bytecode is available.

  ```lua theme={null}
  local targetScript

  for _, descendant in ipairs(game:GetDescendants()) do
      if descendant:IsA("LuaSourceContainer") then
          targetScript = descendant
          break
      end
  end

  if targetScript then
      local hash = getscripthash(targetScript)
      print(hash)
  end
  ```
</div>
