00001 /* hmac.h -- hashed message authentication codes 00002 Copyright (C) 2005, 2009, 2010 Free Software Foundation, Inc. 00003 00004 This program is free software; you can redistribute it and/or modify 00005 it under the terms of the GNU General Public License as published by 00006 the Free Software Foundation; either version 2, or (at your option) 00007 any later version. 00008 00009 This program is distributed in the hope that it will be useful, 00010 but WITHOUT ANY WARRANTY; without even the implied warranty of 00011 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 00012 GNU General Public License for more details. 00013 00014 You should have received a copy of the GNU General Public License 00015 along with this program; if not, write to the Free Software Foundation, 00016 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ 00017 00018 /* Written by Simon Josefsson. */ 00019 00020 #ifndef HMAC_H 00021 # define HMAC_H 1 00022 00023 #include <stddef.h> 00024 00025 /* Compute Hashed Message Authentication Code with MD5, as described 00026 in RFC 2104, over BUFFER data of BUFLEN bytes using the KEY of 00027 KEYLEN bytes, writing the output to pre-allocated 16 byte minimum 00028 RESBUF buffer. Return 0 on success. */ 00029 /* 00030 int 00031 hmac_md5 (const void *key, size_t keylen, 00032 const void *buffer, size_t buflen, void *resbuf); 00033 */ 00034 00035 /* Compute Hashed Message Authentication Code with SHA-1, over BUFFER 00036 data of BUFLEN bytes using the KEY of KEYLEN bytes, writing the 00037 output to pre-allocated 20 byte minimum RESBUF buffer. Return 0 on 00038 success. */ 00039 int 00040 hmac_sha1 (const void *key, size_t keylen, 00041 const void *in, size_t inlen, void *resbuf); 00042 00043 #endif /* HMAC_H */