WHATSNEW: Start release notes for Samba 4.0.0rc2.
[Samba/gebeck_regimport.git] / lib / crypto / hmacsha256.h
blobd9ecac7af40c636a6e4dd766b163305b7c1826ee
1 /*
2 Unix SMB/CIFS implementation.
4 Interface header: HMAC SHA256 code
6 Copyright (C) Andrew Tridgell 2008
8 based on hmacsha1.h which is:
10 Copyright (C) Stefan Metzmacher 2006
12 This program is free software; you can redistribute it and/or modify
13 it under the terms of the GNU General Public License as published by
14 the Free Software Foundation; either version 3 of the License, or
15 (at your option) any later version.
17 This program is distributed in the hope that it will be useful,
18 but WITHOUT ANY WARRANTY; without even the implied warranty of
19 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
20 GNU General Public License for more details.
22 You should have received a copy of the GNU General Public License
23 along with this program. If not, see <http://www.gnu.org/licenses/>.
26 #ifndef _HMAC_SHA256_H
28 struct HMACSHA256Context {
29 SHA256_CTX ctx;
30 uint8_t k_ipad[65];
31 uint8_t k_opad[65];
34 void hmac_sha256_init(const uint8_t *key, size_t key_len, struct HMACSHA256Context *ctx);
35 void hmac_sha256_update(const uint8_t *data, size_t data_len, struct HMACSHA256Context *ctx);
36 void hmac_sha256_final(uint8_t digest[SHA256_DIGEST_LENGTH], struct HMACSHA256Context *ctx);
38 #endif /* _HMAC_SHA256_H */