iOS SHA1算法

以下是常量:
#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;
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值