LINUX.ORG.RU

Крипто и кросплатформенность


0

1

Столкнулся с проблемой при хешировании казалось бы «стандартными» методами. Суть такова, что хеши которые создаются .Net'овским «HMACMD5» и OpenSSL'ым HMAC(EVP_md5()...) различаются... Может есть у кого опыт «сражения» с такими моментами?

★★★★★

Ответ на: комментарий от vasily_pupkin

Ну в случае ОпенССЛя можно указать количество байт из исходных данных,
в случае дотнетовской ф-ции - обычный byte[15] srcdata...

Jetty ★★★★★
() автор топика
Ответ на: комментарий от anonymous

HMAC_Final не ывзывается, используется «быстрая» ф-ция...

Jetty ★★★★★
() автор топика
Ответ на: комментарий от Sectoid

Код до крика прост:

#include <openssl/hmac.h>
int main() {
        const unsigned char *data = "mydataandsome11";
        unsigned char static_key[16] = {0x3b,0x00,0x3b,0xd0,0x00,0x3b,0x00,0x00,0x3b,0x9c,0xa0,0xdd,0x49,0xc0,0x63,0xda};

        unsigned char b2[EVP_MAX_MD_SIZE] = {0};
        unsigned b2_len;
        HMAC(EVP_md5(), static_key, 16, data, 15, b2, &b2_len);
       
        dump(b2, b2_len);

        return 0;
}

Jetty ★★★★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.