EncryptBinary()

Encrypts binary data using a specific algorithm and encoding method.

EncryptBinary( bytes=any, key=string, algorithm=string, IVorSalt=any, iterations=number, precise=boolean );

Returns: any

Argument Description Default
bytes
any, required

Binary data to encrypt.

key
string, required

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, optional

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.

cfmx_compat

IVorSalt
any, optional

Initialization Vector for algorithms with Feedback Mode that is not ECB, or Salt for Password Based Encryption algorithms

iterations
number, optional

number of Iterations for Password Based Encryption algorithms (ignored for all other algorithms). NIST recommends a minimum value of 1000.

precise
boolean, optional

if set to true the input must follow the rule for that encoding a 100%, the decryptor will not try to interpret inputs that are not a 100% correct. This should be used to avoid false positives.

true

Examples

// binary data
	data = toBinary("abcd");
<span class="c">// generate the key</span>
<span class="nv">key</span> <span class="o">=</span> <span class="nf">generateSecretKey</span><span class="p">(</span><span class="s2">&quot;AES&quot;</span><span class="p">);</span>
<span class="c">// encrypt string</span>
<span class="nv">binaryValue</span> <span class="o">=</span> <span class="nf">encryptBinary</span><span class="p">(</span><span class="nv">data</span><span class="p">,</span> <span class="nv">key</span><span class="p">);</span>
<span class="nf">writeDump</span><span class="p">(</span><span class="nv">binaryValue</span><span class="p">);</span>

See also