ReactOS 0.4.17-dev-1005-g171e1de
pbkdf2_hmacsha256.c
Go to the documentation of this file.
1//
2// pbkdf2_hmacsha256.c
3//
4// Copyright (c) Microsoft Corporation. Licensed under the MIT license.
5//
6
7#include "precomp.h"
8
9//
10// The PBKDF SHA-256 test
11// This is in a separate module to avoid pulling in SHA-256 whenever we use PBKDF
12//
13
14static const UINT64 pbkdf2_IterationCnt = 5;
15
16static const BYTE pbkdf2_sha256Answer[] =
17{
18 0x05, 0x98, 0x1e, 0x89, 0x48, 0xd2, 0x84, 0x61,
19};
20
21VOID
24{
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_sha256Answer, 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_sha256Answer[]
VOID SYMCRYPT_CALL SymCryptPbkdf2_HmacSha256SelfTest(void)
static const UINT64 pbkdf2_IterationCnt
VOID SYMCRYPT_CALL SymCryptInjectError(PBYTE pbData, SIZE_T cbData)
const BYTE SymCryptTestKey32[32]
Definition: selftest.c:10
const PCSYMCRYPT_MAC SymCryptHmacSha256Algorithm
Definition: hmacsha256.c:29
_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