zoukankan      html  css  js  c++  java
  • NSData 转 md5

    NSData 转 md5


    NSData+MD5Digest.h

    #import <Foundation/Foundation.h>
    
    
    
    @interface NSData (MD5Digest)
    
    
    
    +(NSData *)MD5Digest:(NSData *)input;
    
    -(NSData *)MD5Digest;
    
    
    
    +(NSString *)MD5HexDigest:(NSData *)input;
    
    -(NSString *)MD5HexDigest;
    
    
    
    @end
    

    NSData+MD5Digest.m

    #import "NSData+MD5Digest.h"
    
    #import <CommonCrypto/CommonDigest.h>
    
    
    
    @implementation NSData (MD5)
    
    
    
    +(NSData *)MD5Digest:(NSData *)input {
    
    unsigned char result[CC_MD5_DIGEST_LENGTH];
    
    
    
    CC_MD5(input.bytes, (CC_LONG)input.length, result);
    
    return [[NSData alloc] initWithBytes:result length:CC_MD5_DIGEST_LENGTH];
    
    }
    
    
    
    -(NSData *)MD5Digest {
    
    return [NSData MD5Digest:self];
    
    }
    
    
    
    +(NSString *)MD5HexDigest:(NSData *)input {
    
    unsigned char result[CC_MD5_DIGEST_LENGTH];
    
    
    
    CC_MD5(input.bytes, (CC_LONG)input.length, result);
    
    NSMutableString *ret = [NSMutableString stringWithCapacity:CC_MD5_DIGEST_LENGTH*2];
    
    for (int i = 0; i<CC_MD5_DIGEST_LENGTH; i++) {
    
        [ret appendFormat:@"%02x",result[i]];
    
    }
    
    return ret;
    
    }
    
    
    
    -(NSString *)MD5HexDigest {
    
    return [NSData MD5HexDigest:self];
    
    }
    
    
    
    @end
    

    源github地址: suiyi

  • 相关阅读:
    存储过程
    需要再研究的题目
    sql(SqlServer)编程基本语法
    sql查询语句
    SQL常用增删改查语句
    SQLserver
    三大范式
    四种约束
    数据库
    学习实践:使用模式,原则实现一个C++自动化测试程序
  • 原文地址:https://www.cnblogs.com/sunyanyan/p/5216843.html
Copyright © 2011-2022 走看看