# Hash File

> `UiPath.Cryptography.Activities.KeyedHashFile`

`UiPath.Cryptography.Activities.KeyedHashFile`

## Description

Hashes a file with a key using a specified algorithm and encoding format and returns the hexadecimal string representation of the resulting hash.

## Project compatibility

**Windows - Legacy** | **Windows** | **Cross-platform**

## Windows, Cross-platform configuration

* **Algorithm** - A drop-down menu which enables you to select the keyed hashing algorithm you want to use. The following options are available: **HMACMD5 (Non-FIPS)**, **HMACSHA1**, **HMACSHA256**, **HMACSHA384**, **HMACSHA512**, **SHA1**, **SHA256**, **SHA384**, and **SHA512**.
* **File** - The file that you want to hash.
* **Key** - The key that you want to use to hash the specified file. This field supports only strings and `String` variables.

### Advanced options

#### Options
* **Key Encoding** - The encoding used to interpret the key specified in the **Key** property. The following options are available: **System default**, **Unicode**, **Unicode (Big-Endian)**, **Unicode (UTF-32)**, **Unicode (UTF-32 Big-Endian)**, **US-ASCII**, **Western European (ISO)**, and **Unicode (UTF-8)**.
* **Continue On Error** - Specifies if the automation should continue even when the activity throws an error. This field only supports Boolean values (`True`, `False`). The default value is `False`. As a result, if the field is blank and an error is thrown, the execution of the project stops. If the value is set to `True`, the execution of the project continues regardless of any error.
  :::note
  If this activity is included in **Try Catch** and the value of the **Continue On Error** property is `True`, no error is caught when the project is executed.
  :::

#### Output
* **Hash** - Reference to the hashed file stored in a `String` variable for use in other activities.

## Windows - Legacy configuration

### Properties panel

#### Common
* **Continue On Error** - Specifies if the automation should continue even when the activity throws an error. This field only supports Boolean values (`True`, `False`). The default value is `False`. As a result, if the field is blank and an error is thrown, the execution of the project stops. If the value is set to `True`, the execution of the project continues regardless of any error.
  :::note
  If this activity is included in **Try Catch** and the value of the **Continue On Error** property is `True`, no error is caught when the project is executed.
  :::
* **DisplayName** - The display name of the activity.

#### Input
* **Algorithm** - A drop-down menu which enables you to select the keyed hashing algorithm you want to use. The following options are available: **HMACMD5 (Non-FIPS)**, **HMACRIPEMD160 (Non-FIPS)**, **HMACSHA1**, **HMACSHA256**, **HMACSHA384**, **HMACSHA512**, and **MACTRipleDES**.
* **File path** - The path to the file you want to hash.
* **Key** - The key that you want to use to hash the specified file. This field supports only strings and `String` variables.
* **Key Secure String** - The secure string used to hash the input string.

#### Misc
* **Private** - If selected, the values of variables and arguments are no longer logged at Verbose level.

#### Output
* **Result** - Reference to the hashed file to be used in other activities.
