zoukankan      html  css  js  c++  java
  • MD5加密方法

    #import <CommonCrypto/CommonCrypto.h>
    
    
    #pragma mark - 32位 小写
    - (NSString *)MD5ForLower32Bate:(NSString *)str{
        //要进行UTF8的转码
        const char * input = [str UTF8String];
        unsigned char result[CC_MD5_DIGEST_LENGTH];
        CC_MD5(input, (CC_LONG)strlen(input), result);
        
        NSMutableString * digest = [NSMutableString stringWithCapacity:CC_MD5_DIGEST_LENGTH * 2];
        for (NSInteger i = 0; i < CC_MD5_DIGEST_LENGTH; i++) {
            [digest appendFormat:@"%02x", result[i]];
        }
        
        return digest;
    }
    
    #pragma mark - 32位 大写
    - (NSString *)MD5ForUpper32Bate:(NSString *)str{
        //要进行UTF8的转码
        const char * input = [str UTF8String];
        unsigned char result[CC_MD5_DIGEST_LENGTH];
        CC_MD5(input, (CC_LONG)strlen(input), result);
        
        NSMutableString * digest = [NSMutableString stringWithCapacity:CC_MD5_DIGEST_LENGTH * 2];
        for (NSInteger i = 0; i < CC_MD5_DIGEST_LENGTH; i++) {
            [digest appendFormat:@"%02X", result[i]];
        }
        return digest;
    }
    
    #pragma mark - 16位 大写
    - (NSString *)MD5ForUpper16Bate:(NSString *)str{
        NSString * md5Str = [self MD5ForUpper32Bate:str];
        NSString  * string;
        for (int i=0; i<24; i++) {
            string=[md5Str substringWithRange:NSMakeRange(8, 16)];
        }
        return string;
    }
    
    
    #pragma mark - 16位 小写
    - (NSString *)MD5ForLower16Bate:(NSString *)str{
        NSString * md5Str = [self MD5ForLower32Bate:str];
        NSString  * string;
        for (int i=0; i<24; i++) {
            string=[md5Str substringWithRange:NSMakeRange(8, 16)];
        }
        return string;
    }
  • 相关阅读:
    Linux内核中的双向链表struct list_head
    Linux文件的基本操作函数
    Ubuntu下载源码并编译
    Ubuntu搭建交叉编译开发环境
    终端下更改printk打印级别
    进程内存分配
    程序的内存分配
    C语言数据类型char
    RSA算法原理(简单易懂)
    常见复杂指针声明的解析(很详细)
  • 原文地址:https://www.cnblogs.com/fengmin/p/6252646.html
Copyright © 2011-2022 走看看