~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~ [ freetext search ] ~ [ file search ] ~

Wine Cross Reference
wine/dlls/advapi32/tests/crypt_sha.c

Version: ~ [ wine-1.1.33 ] ~ [ wine-1.1.32 ] ~ [ wine-1.1.31 ] ~ [ wine-1.1.30 ] ~ [ wine-1.1.29 ] ~ [ wine-1.1.28 ] ~ [ wine-1.1.27 ] ~ [ wine-1.1.26 ] ~ [ wine-1.1.25 ] ~ [ wine-1.1.24 ] ~ [ wine-1.1.23 ] ~ [ wine-1.1.22 ] ~ [ wine-1.1.21 ] ~ [ wine-1.1.20 ] ~ [ wine-1.1.19 ] ~ [ wine-1.1.18 ] ~ [ wine-1.1.17 ] ~ [ wine-1.1.16 ] ~ [ wine-1.1.15 ] ~ [ wine-1.1.14 ] ~ [ wine-1.1.13 ] ~ [ wine-1.1.12 ] ~ [ wine-1.1.11 ] ~ [ wine-1.1.10 ] ~ [ wine-1.1.9 ] ~ [ wine-1.1.8 ] ~ [ wine-1.1.7 ] ~ [ wine-1.0.1 ] ~ [ wine-1.1.6 ] ~ [ wine-1.1.5 ] ~ [ wine-1.1.4 ] ~ [ wine-1.1.3 ] ~ [ wine-1.1.2 ] ~ [ wine-1.1.1 ] ~ [ wine-1.1.0 ] ~ [ wine-1.0 ] ~

  1 /*
  2  * Unit tests for SHA functions
  3  *
  4  * Copyright (c) 2004 Filip Navara
  5  *
  6  * This library is free software; you can redistribute it and/or
  7  * modify it under the terms of the GNU Lesser General Public
  8  * License as published by the Free Software Foundation; either
  9  * version 2.1 of the License, or (at your option) any later version.
 10  *
 11  * This library is distributed in the hope that it will be useful,
 12  * but WITHOUT ANY WARRANTY; without even the implied warranty of
 13  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
 14  * Lesser General Public License for more details.
 15  *
 16  * You should have received a copy of the GNU Lesser General Public
 17  * License along with this library; if not, write to the Free Software
 18  * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
 19  */
 20 
 21 #include <stdarg.h>
 22 
 23 #include "windef.h"
 24 #include "winbase.h"
 25 #include "winerror.h"
 26 
 27 #include "wine/test.h"
 28 
 29 typedef struct {
 30    ULONG Unknown[6];
 31    ULONG State[5];
 32    ULONG Count[2];
 33    UCHAR Buffer[64];
 34 } SHA_CTX, *PSHA_CTX;
 35 
 36 static void test_sha_ctx(void)
 37 {
 38     void (WINAPI *pA_SHAInit)(PSHA_CTX);
 39     void (WINAPI *pA_SHAUpdate)(PSHA_CTX, const unsigned char *, UINT);
 40     void (WINAPI *pA_SHAFinal)(PSHA_CTX, PULONG);
 41     static const unsigned char test_buffer[] = "In our Life there's If"
 42                                                "In our beliefs there's Lie"
 43                                                "In our business there is Sin"
 44                                                "In our bodies, there is Die";
 45    HMODULE hmod;
 46    SHA_CTX ctx;
 47    ULONG result[5];
 48    ULONG result_correct[5] = {0xe014f93, 0xe09791ec, 0x6dcf96c8, 0x8e9385fc, 0x1611c1bb};
 49 
 50    hmod = GetModuleHandleA("advapi32.dll");
 51    pA_SHAInit = (void *)GetProcAddress(hmod, "A_SHAInit");
 52    pA_SHAUpdate = (void *)GetProcAddress(hmod, "A_SHAUpdate");
 53    pA_SHAFinal = (void *)GetProcAddress(hmod, "A_SHAFinal");
 54 
 55    if (!pA_SHAInit || !pA_SHAUpdate || !pA_SHAFinal)
 56    {
 57       win_skip("A_SHAInit and/or A_SHAUpdate and/or A_SHAFinal are not available\n");
 58       return;
 59    }
 60 
 61    RtlZeroMemory(&ctx, sizeof(ctx));
 62    pA_SHAInit(&ctx);
 63    pA_SHAUpdate(&ctx, test_buffer, sizeof(test_buffer)-1);
 64    pA_SHAUpdate(&ctx, test_buffer, sizeof(test_buffer)-1);
 65    pA_SHAFinal(&ctx, result);
 66    ok(!memcmp(result, result_correct, sizeof(result)), "incorrect result\n");
 67 }
 68 
 69 START_TEST(crypt_sha)
 70 {
 71     test_sha_ctx();
 72 }
 73 

~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~ [ freetext search ] ~ [ file search ] ~

This page was automatically generated by the LXR engine.
Visit the LXR main site for more information.