Вычислите обзор HMAC-SHA256 в ColdFusion с помощью Java

Вы действительно задаете не тот вопрос. Ваш вопрос основан на том, что существует различие между «ОО» и «функциональным» программированием. Это различие не интересно или не актуально. Фактически, в соответствии с критериями «поддерживает первоклассную функцию», даже Java является функциональной .

Но ты ударишь ногтем по голове с «чисто функциональным». Это интересный момент. Какие языки предлагают вам ссылочную прозрачность и чистоту? Ну, большинство из них, , если вы очень осторожны. Но не многие из них действительно гарантируют, что ваши функции чисты. Я могу думать только о паре языков, которые предлагают вам это.

Одним из них является Haskell . В Haskell вы пишете программы, которые полностью функциональны от начала до конца. Побочные эффекты делегируются структуре данных, называемой IO, а состояние обрабатывается путем передачи его через чистые функции или инкапсуляции в монады. Таким образом, у вас есть «рай отладки», когда только небольшая часть вашего кода взаимодействует с глобальным состоянием, а остальная часть вашей программы чистая, а язык обеспечивает ее чистоту.

5
задан Shawn Holmes 29 January 2012 в 16:56
поделиться

1 ответ

Вот что я в итоге сделал:

secret = createObject('java', 'javax.crypto.spec.SecretKeySpec' ).Init(my_key.GetBytes(), 'HmacSHA256');
mac = createObject('java', "javax.crypto.Mac");
mac = mac.getInstance("HmacSHA256");
mac.init(secret);
digest = mac.doFinal(my_data.GetBytes());

Это дает вам массив байтов, который затем можно преобразовать в строку.

11
ответ дан 13 December 2019 в 19:34
поделиться
Другие вопросы по тегам:

Похожие вопросы: