ReactOS 0.4.17-dev-1005-g171e1de
pbkdf2_hmacsha1.c
Go to the documentation of this file.
1//
2// pbkdf2_hmacsha1.c
3//
4// Copyright (c) Microsoft Corporation. Licensed under the MIT license.
5//
6
7#include "precomp.h"
8
9//
10// The PBKDF SHA-1 test
11// This is in a separate module to avoid pulling in SHA-1 whenever we use PBKDF
12//
13
14static const UINT64 pbkdf2_IterationCnt = 5;
15
16static const BYTE pbkdf2_sha1Answer[] =
17{
18 0xef, 0xa9, 0xbf, 0xea, 0xa3, 0x4d, 0x70, 0x64,
19};
20
21VOID
24{
25 BYTE res[sizeof(pbkdf2_sha1Answer)];
26
29 &SymCryptTestKey32[0], 8,
30 &SymCryptTestKey32[16], 16,
32 res,
33 sizeof(res));
34
35 SymCryptInjectError( res, sizeof( res ) );
36
37 if (memcmp(res, pbkdf2_sha1Answer, sizeof(res)) !=0)
38 {
39 SymCryptFatal('Pbk2');
40 }
41}
COMPILER_DEPENDENT_UINT64 UINT64
Definition: actypes.h:131
_ACRTIMP int __cdecl memcmp(const void *, const void *, size_t)
Definition: string.c:2807
GLuint res
Definition: glext.h:9613
static const BYTE pbkdf2_sha1Answer[]
static const UINT64 pbkdf2_IterationCnt
VOID SYMCRYPT_CALL SymCryptPbkdf2_HmacSha1SelfTest(void)
VOID SYMCRYPT_CALL SymCryptInjectError(PBYTE pbData, SIZE_T cbData)
const BYTE SymCryptTestKey32[32]
Definition: selftest.c:10
const PCSYMCRYPT_MAC SymCryptHmacSha1Algorithm
Definition: hmacsha1.c:36
_Analysis_noreturn_ VOID SYMCRYPT_CALL SymCryptFatal(UINT32 fatalCode)
SYMCRYPT_ERROR SYMCRYPT_CALL SymCryptPbkdf2(PCSYMCRYPT_MAC macAlgorithm, _In_reads_(cbKey) PCBYTE pbKey, SIZE_T cbKey, _In_reads_opt_(cbSalt) PCBYTE pbSalt, SIZE_T cbSalt, UINT64 iterationCnt, _Out_writes_(cbResult) PBYTE pbResult, SIZE_T cbResult)
Definition: pbkdf2.c:89
#define SYMCRYPT_CALL
unsigned char BYTE
Definition: xxhash.c:193