1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768 |
- #ifndef HPAVKEYDAK_SOURCE
- #define HPAVKEYDAK_SOURCE
- #include <memory.h>
- #include "../key/HPAVKey.h"
- #include "../key/SHA256.h"
- void HPAVKeyDAK (uint8_t DAK [], const char * string)
- {
- struct sha256 sha256;
- uint8_t digest [SHA256_DIGEST_LENGTH];
- const uint8_t secret [] =
- {
- 0x08,
- 0x85,
- 0x6D,
- 0xAF,
- 0x7C,
- 0xF5,
- 0x81,
- 0x85
- };
- unsigned rehash = 999;
- SHA256Reset (& sha256);
- SHA256Write (& sha256, string, strlen (string));
- SHA256Write (& sha256, secret, sizeof (secret));
- SHA256Fetch (& sha256, digest);
- while (rehash--)
- {
- SHA256Reset (& sha256);
- SHA256Write (& sha256, digest, sizeof (digest));
- SHA256Fetch (& sha256, digest);
- }
- memcpy (DAK, digest, HPAVKEY_DAK_LEN);
- return;
- }
- #endif
|