hmac.cxx

来自「MiniSip Client with DomainKeys Authentic」· CXX 代码 · 共 53 行

CXX
53 行
字号
/*  Copyright (C) 2005, 2004 Erik Eliasson, Johan Bilien    This library is free software; you can redistribute it and/or  modify it under the terms of the GNU Lesser General Public  License as published by the Free Software Foundation; either  version 2.1 of the License, or (at your option) any later version.  This library is distributed in the hope that it will be useful,  but WITHOUT ANY WARRANTY; without even the implied warranty of  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU  Lesser General Public License for more details.  You should have received a copy of the GNU Lesser General Public  License along with this library; if not, write to the Free Software  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA*//* * Authors: Erik Eliasson <eliasson@it.kth.se> *          Johan Bilien <jobi@via.ecp.fr>*/#include<config.h>#include <openssl/hmac.h>#include <libmcrypto/hmac.h>void hmac_sha1( unsigned char * key, unsigned int key_length,		unsigned char * data, unsigned int data_length,		unsigned char * mac, unsigned int * mac_length ){	HMAC( EVP_sha1(), key, key_length, data, data_length, mac, mac_length );}void hmac_sha1( unsigned char * key, unsigned int key_length,		unsigned char * data_chunks[],		unsigned int data_chunck_length[],		unsigned char * mac, unsigned int * mac_length ){	HMAC_CTX ctx;	HMAC_CTX_init( &ctx );	HMAC_Init_ex( &ctx, key, key_length, EVP_sha1(), NULL );	while( *data_chunks ){		HMAC_Update( &ctx, *data_chunks, *data_chunck_length );		data_chunks ++;		data_chunck_length ++;	}	HMAC_Final( &ctx, mac, mac_length );	HMAC_CTX_cleanup( &ctx );}

⌨️ 快捷键说明

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