⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 hmac.h

📁 wm PNE 3.3 source code, running at more than vxworks6.x version.
💻 H
字号:
/* $Header: /usr/cvsroot/target/h/wrn/wm/common/hmac.h,v 1.3 2003/01/16 18:20:12 josh Exp $ *//* * Copyright (C) 1999-2005 Wind River Systems, Inc. * All rights reserved.  Provided under license only. * Distribution or other use of this software is only * permitted pursuant to the terms of a license agreement * from Wind River Systems (and is otherwise prohibited). * Refer to that license agreement for terms of use. *//**************************************************************************** *  Copyright 1997 Epilogue Technology Corporation. *  Copyright 1998 Integrated Systems, Inc. *  All rights reserved. ****************************************************************************//*  * $Log: hmac.h,v $ * Revision 1.3  2003/01/16 18:20:12  josh * directory structure shifting * * Revision 1.2  2001/11/07 00:07:10  meister * Rework pathnames again * * Revision 1.1.1.1  2001/11/05 17:47:18  tneale * Tornado shuffle * * Revision 1.5  2001/01/19 22:21:28  paul * Update copyright. * * Revision 1.4  2000/03/17 00:16:37  meister * Update copyright message * * Revision 1.3  2000/03/09 17:15:39  tneale * Added #idef C++ to declare extern C if needed * * Revision 1.2  1998/06/18 04:11:24  sar * clean up some type info, make the lengths be bits32_t * * Revision 1.1  1998/05/22 17:59:58  sar * Adding include files for hmac and sha * *//* [clearcase]modification history-------------------01a,20apr05,job  update copyright notices*/#ifndef HMAC_H#define HMAC_H 1#ifdef __cplusplusextern"C" {#endif/* get the installation options */#ifndef EPILOGUE_INSTALL_H#include <wrn/wm/common/install.h>#endif /* EPILOGUE_INSTALL_H *//* get the Epilogue types */#ifndef EPILOGUE_TYPES_H#include <wrn/wm/common/types.h>#endif /* EPILOGUE_TYPES_H *//* Data structure for HMAC computation */#define HMAC_STATESIZ_MAX 128       #define HMAC_HASHSIZ_MAX  24        /* keep them 64-bit aligned */typedef void (*hashfcn_init_t)(void *state);typedef void (*hashfcn_update_t)(void *state, bits8_t *data, bits32_t datalen);typedef void (*hashfcn_final_t)(void *state, bits8_t *output);typedef struct {  bits8_t          hmac_state [HMAC_STATESIZ_MAX];  bits8_t          hmac_tmp   [HMAC_HASHSIZ_MAX];  hashfcn_init_t   hmac_hashinit;  hashfcn_update_t hmac_hashupdate;  hashfcn_final_t  hmac_hashfinal;  bits32_t         hmac_hashlen;} HMAC_CTX;/* Initialize an HMAC context. Needs the three hash function interface calls,    the size of the output hash, and the size of the state block needed by the    underlying hash function. */ void InitHmacCTX __((HMAC_CTX         *ctx, 		     hashfcn_init_t    init,		     hashfcn_update_t  update, 		     hashfcn_final_t   final,		     bits32_t          hashsiz));void hmac_init   __((HMAC_CTX *ctx, bits8_t *key,  bits32_t keylen));void hmac_update __((HMAC_CTX *ctx, bits8_t *data, bits32_t datalen));void hmac_final  __((HMAC_CTX *ctx, bits8_t *key,  bits32_t keylen,		     bits8_t  *output));#ifdef __cplusplus}#endif#endif /* HMAC_H */

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -