encrypt
Шифрует строку с помощью алгоритма на основе симметричного ключа, в котором один и тот же ключ используется для шифрования и расшифровки строки. Безопасность зашифрованной строки зависит от сохранения ключа в секрете и выбора алгоритма. Поддержка алгоритмов определяется установленным по умолчанию поставщиком JCE в Lucee или ColdFusion Standard. В ColdFusion Enterprise алгоритмы предоставляются поставщиком JCE RSA BSafe Crypto-J, сертифицированным по стандарту FIPS.
encrypt(string, key [, algorithm [, encoding] [, iv | salt [, iterations]]]) → returns string
Справочник аргументов
string string Обязательный
key string Обязательный
CFMX_COMPAT — произвольная комбинация любого количества символов, используемая как начальное значение для создания 32-битного ключа шифрования.* Для всех остальных алгоритмов — ключ в формате, используемом алгоритмом. Для этих алгоритмов используйте функцию GenerateSecretKey для создания ключа. algorithm string
По умолчанию: CFMX_COMPAT
CFMX_COMPAT
CFMX_COMPATAESBLOWFISHDESDESEDEDESXRC2RC4RC5PBEAES/GCM/NoPaddingAES/CBC/PKCS5PaddingAES/CTR/PKCS5Padding
encoding string
По умолчанию: UU
UU
algorithm. UUBase64Hex
iv binary
SALT.Укажите этот параметр, чтобы настроить шифрование ColdFusion в соответствии с параметрами другого программного обеспечения для шифрования.* Для блочных алгоритмов шифрования: это двоичное значение вектора инициализации, используемое алгоритмом. Алгоритм должен поддерживать режим обратной связи, отличный от ECB. Значение должно быть двоичным и точно соответствовать размеру блока алгоритма.ПРИМЕЧАНИЕ: если указать этот параметр, необходимо также указать параметр algorithm. salt binary
IV.Укажите этот параметр, чтобы настроить шифрование ColdFusion в соответствии с параметрами другого программного обеспечения для шифрования.* Для алгоритмов шифрования на основе пароля: это двоичное значение соли, используемое для преобразования пароля в ключ.ПРИМЕЧАНИЕ: если указать этот параметр, необходимо также указать параметр algorithm. iterations numeric
По умолчанию: 0
0
algorithm с алгоритмом шифрования на основе пароля (PBE).ПРИМЕЧАНИЕ: этот параметр используется вместе с параметром salt. Не указывайте этот параметр для блочных алгоритмов шифрования.ПРИМЕЧАНИЕ: для шифрования и расшифровки данных необходимо использовать одно и то же значение. Совместимость
ColdFusion:
Lucee:
IVorSalt. Ссылки дополнительная информация о функции encrypt
- Надёжное шифрование в CF7 — обзор алгоритмов шифрования
Примеры Пример кода с вызовом функции encrypt
Ключ необходимо создать с помощью функции generateSecretKey("AES").
encrypt("top secret", "WTq8zYcZfaWVvMncigHqwQ==", "AES", "Base64") Ожидаемый результат: keciULin7bxOWvN/BOarWw==
По умолчанию encrypt() использует для шифрования режим электронной кодовой книги (ECB). Для повышения безопасности следует указать используемые режим и заполнение. В этом примере используется режим CBC и PKCS5Padding. Значение зашифрованной строки будет меняться при каждом запуске, поскольку IV генерируется случайным образом.
msg = 'data to encrypt';
key = generateSecretKey('AES');
encMsg = encrypt( msg, key, 'AES/CBC/PKCS5Padding', 'HEX');
writeOutput( encMsg ); Режим GCM работает в CF 2016+ начиная с обновления 2. В настоящее время он не работает в Lucee (ошибка: LDEV-904).
msg = 'data to encrypt';
key = generateSecretKey('AES');
encMsg = encrypt( msg, key, 'AES/GCM/NoPadding', 'Base64');
writeOutput( encMsg );
© 2012–present Foundeo, Inc. and the CFDocs contributors.
Licensed under the MIT License.
ColdFusion is a trademark of Adobe Systems Incorporated.
https://cfdocs.org/encrypt