| |
| /* |
| * Copyright (C) Igor Sysoev |
| * Copyright (C) Nginx, Inc. |
| */ |
| |
| |
| #ifndef _NGX_SHA1_H_INCLUDED_ |
| #define _NGX_SHA1_H_INCLUDED_ |
| |
| |
| #include <ngx_config.h> |
| #include <ngx_core.h> |
| |
| |
| #if (NGX_HAVE_OPENSSL_SHA1_H) |
| |
| #include <openssl/sha.h> |
| |
| |
| typedef SHA_CTX ngx_sha1_t; |
| |
| |
| #define ngx_sha1_init SHA1_Init |
| #define ngx_sha1_update SHA1_Update |
| #define ngx_sha1_final SHA1_Final |
| |
| |
| #else /* !NGX_HAVE_OPENSSL_SHA1_H */ |
| |
| |
| typedef struct { |
| uint64_t bytes; |
| uint32_t a, b, c, d, e, f; |
| u_char buffer[64]; |
| } ngx_sha1_t; |
| |
| |
| void ngx_sha1_init(ngx_sha1_t *ctx); |
| void ngx_sha1_update(ngx_sha1_t *ctx, const void *data, size_t size); |
| void ngx_sha1_final(u_char result[20], ngx_sha1_t *ctx); |
| |
| |
| #endif |
| |
| #endif /* _NGX_SHA1_H_INCLUDED_ */ |