-
- sha1_init(&a);
- sha1_nextBlock(&a, buffer); /* hash key ^ opad */
- sha1_ctx2hash((void*)buffer, s); /* copy hash(key ^ ipad, msg) to buffer */
- sha1_lastBlock(&a, buffer, SHA1_HASH_BITS);
- memcpy(s, &a, sizeof(sha1_ctx_t));
-#if defined SECURE_WIPE_BUFFER
- memset(buffer, 0, SHA1_BLOCK_BYTES);
- memset(&a, 0, sizeof(sha1_ctx_t));
-#endif