Алгоритм шифрования без специальных символов - PullRequest
0 голосов
/ 08 июля 2011

Есть ли в ColdFusion алгоритм шифрования, в котором не используются специальные символы (только буквенно-цифровые)? У меня есть некоторые данные, которые я передаю пользователю в виде псевдополя, который включает их имя пользователя и сайт, которому они назначены. Мне нужно зашифровать строку с помощью алгоритма шифрования, встроенного в ColdFusion 8 Enterprise edition, и в последней строке не должно быть никаких специальных символов. Возможно ли это и если да, то какой алгоритм это сделает?

<cfset loc.token = encrypt(loc.token,Application.secretKey,'Blowfish','Base64') />

Ответы [ 3 ]

4 голосов
/ 08 июля 2011

Просто используйте binhex.Кодируйте каждый байт как шестнадцатеричное число в диапазоне от 00 до FF.Однако Base 64 содержит несколько не буквенно-цифровых символов, таких как + / =.

1 голос
/ 08 июля 2011

Это должно работать для вас,

#encrypt('text_im_encrypting', ToBase64(BinaryDecode('my_encrypt_key',"Hex")), 'AES', 'Hex');#

заменить значения * text_im_encrypting * и * my_encrypt_key *, очевидно ... ...)) 1004 *

0 голосов
/ 12 июля 2011

Существуют две недокументированные функции, cfusion_encrypt (строка, ключ) и cfusion_decrypt (строка, ключ), которые шифруют / дешифруют на основе шестнадцатеричных строк.По сути, поскольку полученная строка является полностью шестнадцатеричной, она не содержит специальных символов:

<cfscript>
    writeoutput(cfusion_encrypt("stackoverflow", "rocks")); // outputs 011B0208181D190619151E0014
    writeoutput(cfusion_decrypt("011B0208181D190619151E0014", "rocks")); // outputs stackoverflow
</cfscript>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...