How can I compute a SHA-2 (ideally SHA 256 or SHA 512) hash in iOS?

后端 未结 6 1959
臣服心动
臣服心动 2020-11-27 10:32

The Security services API doesn\'t appear to allow me to compute a hash directly. There are plenty of public domain and liberally licensed versions available, but I\'d rathe

6条回答
  •  陌清茗
    陌清茗 (楼主)
    2020-11-27 11:29

    This is what I'm using for SHA1:

    #import 
    
    + (NSData *)sha1:(NSData *)data {
        unsigned char hash[CC_SHA1_DIGEST_LENGTH];
        if ( CC_SHA1([data bytes], [data length], hash) ) {
            NSData *sha1 = [NSData dataWithBytes:hash length:CC_SHA1_DIGEST_LENGTH];        
            return sha1;
        }
    return nil;
    }
    

    Replace CC_SHA1 with CC_SHA256 (or whichever you need), as well as CC_SHA1_DIGEST_LENGTH with CC_SHA256_DIGEST_LENGTH.

提交回复
热议问题