- Overview
- Cryptography
- Database
- Java
- Python
- WebAPI
Developer activities
UiPath.Cryptography.Activities.EncryptFile
Description
Encrypts a file using a symmetric algorithm and key, or using PGP with a recipient's public key. The result is written to a new file.
Project compatibility
Windows - Legacy | Windows | Cross-platform
Windows, Cross-platform configuration
- File - The file to be encrypted, stored as an
IResourcevariable. Select the Plus
menu to switch to the Input Path input. - Algorithm - A drop-down menu which enables you to select the encryption algorithm you want to use. The following options are available: AES GCM, ChaCha20-Poly1305 (Non-FIPS), PGP - Pretty Good Privacy (Non-FIPS), AES (Deprecated), DES (Deprecated), RC2 (Non-FIPS) (Deprecated), Rijndael (Non-FIPS) (Deprecated), and TripleDES (Deprecated). AES GCM and ChaCha20-Poly1305 (Non-FIPS) are authenticated (AEAD) algorithms recommended for new workflows. Select PGP to encrypt with a recipient's public key instead of a symmetric key.
- Key - The key that you want to use to encrypt the file. Used by the symmetric algorithms only. This field supports only strings and
Stringvariables. To enter the key as a secure string instead of plain text, select the field's input menu and choose Toggle to Secure input - this uses the Key Secure String property (aSecureString).
Advanced options
Options
- Key Encoding - The encoding used to interpret the key specified in the Key property. The dropdown lists all text encodings (code pages) available on the machine, with the most common ones shown first: System default, Unicode (UTF-8) (default), Unicode, Unicode (Big-Endian), Unicode (UTF-32), Unicode (UTF-32 Big-Endian), US-ASCII, and Western European (ISO). Additional regional and legacy code pages follow in the list.
- Output file name and location - The path where you want to save the encrypted file. This field supports only strings and
Stringvariables.Note:Relative folder paths are recommended to account for the different file structure between Windows and Linux machines when executing a project. A relative path follows the format
newFolder/newFileName.enc. The activity creates the target folder if it does not already exist. - Overwrite - If a file already exists, selecting
Onoverwrites it. If the toggle is set toOff, a new file is created. The default value isOff. - 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 isFalse. As a result, if the field is blank and an error is thrown, the execution of the project stops. If the value is set toTrue, the execution of the project continues regardless of any error.
Symmetric wire format and interoperability
These options apply to the symmetric algorithms only. They let you produce ciphertext that interoperates with external tools such as openssl enc, Java, and Python. Existing workflows that do not set Wire format keep producing the default Classic output, which is unchanged.
- Wire Format - The symmetric ciphertext layout. The following options are available:
- UiPath (Classic) (default) - UiPath's byte-stable layout (
salt(8) + IV + ciphertext [+ tag], PBKDF2-HMAC-SHA1 at 10,000 iterations). Produces the same output as previous versions. - UiPath (OWASP 2026) - The Classic layout with a stronger, OWASP-recommended KDF iteration count.
- Raw (caller-supplied key and IV) - A caller-supplied key and IV, for third-party interoperability. Requires Key Bytes Format to be Hex or Base64.
- OpenSSL enc (Salted__ + PBKDF2-SHA256) - Produces
openssl enc-compatible output.
- UiPath (Classic) (default) - UiPath's byte-stable layout (
- Key Bytes Format - How the Key string is interpreted. The following options are available: Hex and Base64. Required when Wire Format is Raw (caller-supplied key and IV); otherwise the key is treated as a password.
- IV - The initialization vector, used when Wire Format is Raw (caller-supplied key and IV). Interpreted according to Key Bytes Format. Optional - leave it empty to let the cipher generate one. Rejected for all other formats.
- KDF Iterations - The PBKDF2 iteration count.
0uses the format's OWASP-recommended default (1,300,000 for UiPath (OWASP 2026), 600,000 for OpenSSL enc). Rejected for UiPath (Classic) and Raw (caller-supplied key and IV). - AES Key Size - The AES key size, in bits. The following options are available: 128-bit, 192-bit, and 256-bit (default). Applies only when Algorithm is AES and Wire Format is OpenSSL enc (Salted__ + PBKDF2-SHA256). Must match the key size the peer uses. It is not stored in the wire format, so the encrypt and decrypt sides must use matching values.
PGP
These options apply when Algorithm is PGP.
- Public Key File Path - The path to the recipient's PGP public key file. Required when Algorithm is PGP.
- Private Key File Path - The path to your PGP private key file. Required only when Sign Data is enabled.
- Passphrase - The passphrase that unlocks your private key when signing. To provide it as a secure string instead of plain text, select the field's input menu and switch to the Passphrase (Secure) input (a
SecureString). - Sign Data - When enabled, signs the encrypted data using your private key. This field only supports Boolean values (
True,False). The default value isFalse.
Depending on the output path and if the file already exists, the following results can occur:
| Output file name and location | Overwrite | Output result |
|---|---|---|
| Unset | Off | A file with the original file name + the suffix "_Encrypted". If the file already exists, an error is thrown. |
| Unset | On | A file with the original file name + the suffix "_Encrypted". If the file already exists, the file will be overwritten. |
| Set | Off | A file as per user preference. If the file already exists, an error is thrown. |
| Set | On | A file as per user preference. If the file already exists, the file will be overwritten. |
Output
- Encrypted File - Reference to the encrypted file retrieved by the activity 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 isFalse. As a result, if the field is blank and an error is thrown, the execution of the project stops. If the value is set toTrue, 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 encryption algorithm you want to use. The following options are available: AES (Deprecated), AES GCM, DES (Deprecated), RC2 (Non-FIPS) (Deprecated), Rijndael (Non-FIPS) (Deprecated), and TripleDES.
Note:When using the AES GCM algorithm, the decryption input must be provided in the format of (concatenated bytes):
Salt (8bytes) + IV (12 bytes) + encryptedData (variable bytes) + Tag (16 bytes). The activity also uses the following parameters:- PBKDF2 iterations count is 10000
- The generated key is 256-bit (32 bytes)
Note that the 256-bit generated key is not the same as the Key input option.
-
Encrypted Filename - The file name you want to use to save the encrypted file.
-
Input Path - The path to the file that you want to encrypt. This field supports only strings and
Stringvariables. -
Key - The key that you want to use to encrypt the specified file. This field supports only strings and
Stringvariables. -
Key Encoding - The encoding used to interpret the key specified in the Key property. This field supports only
Encodingvariables. -
Key Secure String - The secure string used to encrypt the input file.
-
Output file name and location - The path where you want to save the encrypted file. This field supports only strings and
Stringvariables. -
Overwrite - If a file already exists at the path specified in the OutputPath field, selecting this check box overwrites it. If unchecked, a new file is created. By default, this check box is cleared.
Misc
- Private - If selected, the values of variables and arguments are no longer logged at Verbose level.