以下是常量:
#define CC_SHA1_DIGEST_LENGTH 20
#define kMChosenDigestLength CC_SHA1_DIGEST_LENGTH
//哈希算法
+ (NSData *)getHashBytes:(NSData *)plaintText {
CC_SHA1_CTX ctx;
uint8_t *hashBytes = NULL;
NSData *hash = nil;
// Malloc a buffer to hold hash
hashBytes = malloc(kMChosenDigestLength * sizeof(uint8_t));
memset((void *)hashBytes, 0x0, kMChosenDigestLength);
// Initialize the context.
CC_SHA1_Init(&ctx);
// Perform the hash.
CC_SHA1_Update(&ctx, (void *)[plaintText bytes], (uint32_t)[plaintText length]);
// Finalize the out put.
CC_SHA1_Final(hashBytes, &ctx);
// Build up the SHA1 hash.
hash = [NSData dataWithBytes:(const void *)hashBytes length:(NSUInteger)kMChosenDigestLength];
if (hashBytes) free(hashBytes);
return hash;
}