#import "NSData+Hashing.h"#include <openssl/sha.h>

Defines | |
| #define | HEComputeDigest(method) |
| #define | HEComputeDigestNSData(method) |
| #define | HEComputeDigestNSString(method) |
| #define | SHA1_CTX SHA_CTX |
| #define | SHA1_DIGEST_LENGTH SHA_DIGEST_LENGTH |
| #define HEComputeDigest | ( | method | ) |
Value:
method##_CTX ctx; \
unsigned char digest[method##_DIGEST_LENGTH]; \
method##_Init(&ctx); \
method##_Update(&ctx, [self bytes], [self length]); \
method##_Final(digest, &ctx);
| #define HEComputeDigestNSData | ( | method | ) |
Value:
HEComputeDigest(method) \ return [NSData dataWithBytes:digest length:method##_DIGEST_LENGTH];
| #define HEComputeDigestNSString | ( | method | ) |
Value:
static char __HEHexDigits[] = "0123456789abcdef"; \ unsigned char digestString[2*method##_DIGEST_LENGTH]; \ unsigned int i; \ HEComputeDigest(method) \ for(i=0; i<method##_DIGEST_LENGTH; i++) { \ digestString[2*i] = __HEHexDigits[digest[i] >> 4]; \ digestString[2*i+1] = __HEHexDigits[digest[i] & 0x0f]; \ } \ return [NSString stringWithCString:(char *)digestString length:2*method##_DIGEST_LENGTH];
| #define SHA1_CTX SHA_CTX |
| #define SHA1_DIGEST_LENGTH SHA_DIGEST_LENGTH |
1.5.7