30 lines
1.5 KiB
C++
30 lines
1.5 KiB
C++
#pragma once
|
|
#include <string>
|
|
|
|
namespace Secure{
|
|
// MD5 hashing functions
|
|
std::string md5(std::string input);
|
|
std::string md5(const char *input, const unsigned int in_len);
|
|
void md5bin(const char *input, const unsigned int in_len, char *output);
|
|
|
|
// SHA256 hashing functions
|
|
std::string sha256(std::string input);
|
|
std::string sha256(const char *input, const unsigned int in_len);
|
|
void sha256bin(const char *input, const unsigned int in_len, char *output);
|
|
|
|
// Generic HMAC functions
|
|
std::string hmac(std::string msg, std::string key, unsigned int hashSize,
|
|
void hasher(const char *, const unsigned int, char *), unsigned int blockSize);
|
|
std::string hmac(const char *msg, const unsigned int msg_len, const char *key,
|
|
const unsigned int key_len, unsigned int hashSize,
|
|
void hasher(const char *, const unsigned int, char *), unsigned int blockSize);
|
|
void hmacbin(const char *msg, const unsigned int msg_len, const char *key, const unsigned int key_len,
|
|
unsigned int hashSize, void hasher(const char *, const unsigned int, char *),
|
|
unsigned int blockSize, char *output);
|
|
// Specific HMAC functions
|
|
std::string hmac_sha256(std::string msg, std::string key);
|
|
std::string hmac_sha256(const char *msg, const unsigned int msg_len, const char *key, const unsigned int key_len);
|
|
void hmac_sha256bin(const char *msg, const unsigned int msg_len, const char *key,
|
|
const unsigned int key_len, char *output);
|
|
|
|
}// namespace Secure
|