OC MD5加密方法

+(NSString*)md5String:(NSString*)sourceString{

    if(!sourceString){

        return nil;//判断sourceString如果为空则直接返回nil。

    }

    //MD5加密都是通过C级别的函数来计算,所以需要将加密的字符串转换为C语言的字符串

    constchar*cString = sourceString.UTF8String;

    //创建一个C语言的字符数组,用来接收加密结束之后的字符

    unsigned char result[CC_MD5_DIGEST_LENGTH];

    //MD5计算(也就是加密)

    //第一个参数:需要加密的字符串

    //第二个参数:需要加密的字符串的长度

    //第三个参数:加密完成之后的字符串存储的地方

    CC_MD5(cString, (CC_LONG)strlen(cString), result);

    //将加密完成的字符拼接起来使用(16进制的)。

    //声明一个可变字符串类型,用来拼接转换好的字符

    NSMutableString *resultString = [[NSMutableString alloc]init];

    //遍历所有的result数组,取出所有的字符来拼接

    for (int i = 0;i < CC_MD5_DIGEST_LENGTH; i++) {

        [resultString  appendFormat:@"%02x",result[i]];

        //%02x:x 表示以十六进制形式输出,02 表示不足两位,前面补0输出;超出两位,不影响。当x小写的时候,返回的密文中的字母就是小写的,当X大写的时候返回的密文中的字母是大写的。

    }

    //打印最终需要的字符

    NSLog(@"resultString === %@",resultString);

    returnresultString;

}

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容