[Plugin] Hash/HMAC plugin
Я решил выпустить свой все-в-одном хэширования и HMAC: соответствующее решение.
Он использует OpenSSL как криптографические библиотеки.
Он предоставляет два новых встроенных функций:
родной hhash (холодный, вход [], буфера [], buflen);
Для вычисления дайджеста сообщения (хэш)
родной hhash_hmac (холодный, вход [], клавиша [], буфера [], buflen);
Для вычисления хэш кода на основе проверки подлинности сообщения (HMAC)
Он имеет в настоящее время поддерживают на 6 алгоритмов хеширования:
MD5, SHA-1, SHA-256, SHA-512, RIPEMD-160 и Whirlpool.
Все эти алгоритмы могут также использоваться в режиме HMAC.
Пример
выходы "9e107d9d372bb6826bd81d3542a419d6", который является правильным Hex MD5 хэш строки для этой строки
Обновления
Скачать
README содержит важную информацию,
ВНИМАНИЕ! В настоящее время составлен для Linux имеет джакузи хэш-инвалидов, потому что я wasn't состоянии установить правильный OpenSSL версии с поддержкой Whirlpool в моей компиляции машины. Вы можете включить джакузи поддержку, если у вас есть правильный OpenSSL путем удаления "# определить HASH_WHIRLPOOL_ENABLED" линии от "hash.cpp" и составления снова.
Он использует OpenSSL как криптографические библиотеки.
Он предоставляет два новых встроенных функций:
родной hhash (холодный, вход [], буфера [], buflen);
Для вычисления дайджеста сообщения (хэш)
родной hhash_hmac (холодный, вход [], клавиша [], буфера [], buflen);
Для вычисления хэш кода на основе проверки подлинности сообщения (HMAC)
Он имеет в настоящее время поддерживают на 6 алгоритмов хеширования:
MD5, SHA-1, SHA-256, SHA-512, RIPEMD-160 и Whirlpool.
Все эти алгоритмы могут также использоваться в режиме HMAC.
Пример
пешка кодекса:
новые ул [ H_MD5_LEN ] ;
hhash ( H_MD5, "Quick Brown Fox скачки над лентяй" , ул H_MD5_LEN ) ;
Е ( ул ) ;
Обновления
- 12.3.2011: Снова оптимальной строки функция Hex для некоторых прирост скорости
- 11.3.2011: модифицированную строку функции Hex более правильный код стиль (старый был в состоянии вызвать крах, и сейчас, используя ALLOCA по умолчанию)
Скачать
README содержит важную информацию,
ВНИМАНИЕ! В настоящее время составлен для Linux имеет джакузи хэш-инвалидов, потому что я wasn't состоянии установить правильный OpenSSL версии с поддержкой Whirlpool в моей компиляции машины. Вы можете включить джакузи поддержку, если у вас есть правильный OpenSSL путем удаления "# определить HASH_WHIRLPOOL_ENABLED" линии от "hash.cpp" и составления снова.