purebasic.info

PureBasic forum
Текущее время: Вт окт 23, 2018 4:41 am

Часовой пояс: UTC + 3 часа




Начать новую тему Ответить на тему  [ 1 сообщение ] 
Автор Сообщение
 Заголовок сообщения: Функцию в пурик
СообщениеДобавлено: Чт июл 08, 2010 12:05 pm 
Не в сети
профессор
Аватар пользователя

Зарегистрирован: Пн апр 27, 2009 5:18 pm
Сообщений: 387
Откуда: Череповец, Вологодская область
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.
Пункты репутации: 0
Как можно перевести эту функцию в PureBasic?
Код:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
FUNCTION hmac(key, msg):
    IF len(key) > blocksize THEN: // Если ключ БОЛЬШЕ чем размер блока...
        key = hash(key) // Укорачиваем ключ до размера результата хеш-функции
        //    (Размер результата хеш-функции обычно МЕНЬШЕ (а не равен) чем размер блока хеш-функции)
    END_IF
    IF len(key) < blocksize THEN: // Если ключ МЕНЬШЕ чем размер блока хеш-функции...
        key = key &#8741; zeroes(blocksize - len(key)) // Дополняем ключ нулевой последовательностью
    END_IF
   
    ipad = ['\x36' * blocksize] // Где оператор "*" - указывает сколько раз повторять элемент последовательности,
    opad = ['\x5c' * blocksize] //    а blocksize - это размер блока хэш-функции,
   
    ikeypad = ipad &#8853; key // Где оператор "&#8853;" - осуществляет побитовое ИСКЛЮЧАЮЩЕЕ-ИЛИ (XOR)
    okeypad = opad &#8853; key
   
    RETURN hash(okeypad &#8741; hash(ikeypad &#8741; msg)) // Где оператор "&#8741;" - осуществляет операция конкатенации
END_FUNCTION


Правда, я даже не знаю, что это за язык... Вот статья в Википедии:
http://ru.wikipedia.org/wiki/HMAC


Вернуться наверх
 Профиль  
 
Показать сообщения за:  Сортировать по:  
Начать новую тему Ответить на тему  [ 1 сообщение ] 

Часовой пояс: UTC + 3 часа


Кто сейчас на форуме

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 4


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
Создано на основе phpBB® Forum Software © phpBB Group (блог о phpBB)
Сборка создана CMSart Studio
Русская поддержка phpBB