NSData+QNMD5.m 622 B

12345678910111213141516171819202122232425262728
  1. //
  2. // NSData+MD5.m
  3. // QiniuSDK
  4. //
  5. // Created by 杨森 on 2020/7/28.
  6. // Copyright © 2020 Qiniu. All rights reserved.
  7. //
  8. #import "NSData+QNMD5.h"
  9. #import <CommonCrypto/CommonDigest.h>
  10. @implementation NSData(QNMD5)
  11. - (NSString *)qn_md5{
  12. CC_MD5_CTX md5;
  13. CC_MD5_Init(&md5);
  14. CC_MD5_Update(&md5, self.bytes, (CC_LONG)self.length);
  15. unsigned char digest[CC_MD5_DIGEST_LENGTH];
  16. CC_MD5_Final(digest, &md5);
  17. NSMutableString *result = [NSMutableString string];
  18. for (int i = 0; i < CC_MD5_DIGEST_LENGTH; i++) {
  19. [result appendFormat:@"%02X", digest[i]];
  20. }
  21. return result;
  22. }
  23. @end