2011-09-18 20 views
5

Piszę aplikację PHP do C++. Aplikacja PHP za pomocą tej funkcji:Co to jest odpowiednik funkcji PHP hash_hmac w C++?

hash_hmac - Generowanie kluczykiem wartość skrótu za pomocą metody HMAC

Jeśli mam tego kodu, co to jest właściwie robi?

Wiem, że szyfruje niektóre dane za pomocą sha256 i mojego klucza, ale jak mogę to zrobić w C++?

Znalazłem biblioteki hmac i sha2, ale nie jestem pewien, czy są one tym, czego potrzebuję.

+0

Dlaczego chcesz do portu kodu PHP do kodu C++? – daGrevis

+1

zwiększenie wydajności – user63898

Odpowiedz

16

Rozważałoby zaglądanie do OpenSSL, przenośnej i kompletnej biblioteki kryptograficznej (pomimo swojej nazwy, nie robi tylko SSL). Ma on HMAC library, który z pewnością można owinąć, aby uzyskać podobną funkcję.

Oto przykład jak używać OpenSSL”HMAC biblioteka, pochodzący z kopalni another question on StackOverflow (adnotacji):

// Initialize HMAC object. 
HMAC_CTX ctx; 
HMAC_CTX_init(&ctx); 

    // Set HMAC key. 
HMAC_Init_ex(&ctx, key, 16, EVP_sha256(), NULL); 

    // May be called repeatedly to insert all your data. 
HMAC_Update(&ctx, data, 8); 

    // Finish HMAC computation and fetch result. 
HMAC_Final(&ctx, result, &result_len); 

    // Done with HMAC object. 
HMAC_CTX_cleanup(&ctx); 
Powiązane problemy