Tags · Functions · Objects
Lucee Function Reference
Choose a function:

Function ENCRYPT

Encrypts a string. Uses a symmetric key-based algorithm, in
which the same key is used to encrypt and decrypt a string.
The security of the encrypted string depends on maintaining
the secrecy of the key. Uses an XOR-based algorithm that uses
a pseudo-random 32-bit key, based on a seed passed by the user
as a function parameter.

Example

encrypt(string string,string key,[string algorithm,[string encoding,[any IVorSalt,[number iterations]]]]):string

Arguments

The arguments for this function are set. You can not use other arguments except the following ones.
Name Type Required Default Value Description
string string  Yes   String to encrypt.  
key string  Yes   Key or seed used to encrypt the string.
  • For the CFMX_COMPAT algorithm, any combination of any number of characters; used as a seed used to generate a 32-bit encryption key.
  • For all other algorithms, a key in the format used by the algorithm. For these algorithms, use the GenerateSecretKey function to generate the key.  
  • algorithm string  No cfmx_compat The algorithm to use to decrypt the string. Must be the same as the algorithm used to encrypt the string.
  • CFMX_COMPAT(default): the CFML specific algorithm. This algorithm is the least secure option
  • AES: the Advanced Encryption Standard specified by the National Institute of Standards and Technology (NIST) FIPS-197
  • BLOWFISH: the Blowfish algorithm defined by Bruce Schneier
  • DES: the Data Encryption Standard algorithm defined by NIST FIPS-46-3
  • DESEDE: the "Triple DES" algorithm defined by NIST FIPS-46-3
    You may also specify other algorithm names as well as the feedback mode and padding scheme where applicable (in the format algorithm/mode/padding) as documented in the Java Cryptography Architecture (JCA) Reference Guide.  
  • encoding string  No uu The binary encoding used to represent the data as a string. Must be the same as the algorithm used to encrypt the string.
  • Base64: the Base64 algorithm, as specified by IETF RFC 2045.
  • Hex: the characters A-F and 0-9 represent the hexadecimal byte values.
  • UU(default): the UNIX standard UUEncode algorithm .  
  • IVorSalt any  No   Initialization Vector for algorithms with Feedback Mode that is not ECB, or Salt for Password Based Encryption algorithms  
    iterations number  No   number of Iterations for Password Based Encryption algorithms (ignored for all other algorithms). NIST recommends a minimum value of 1000.