zoukankan      html  css  js  c++  java
  • iOS 字符串 MD5

    iOS 字符串 MD5

    Objective-C 实现

    需要引入头文件

    #import <CommonCrypto/CommonCrypto.h>
    

    这里用方法实现

    + (nullable NSString *)md5:(nullable NSString *)str {
        if (!str) return nil;
        
        const char *cStr = str.UTF8String;
        unsigned char result[CC_MD5_DIGEST_LENGTH];
        CC_MD5(cStr, (CC_LONG)strlen(cStr), result);
        
        NSMutableString *md5Str = [NSMutableString string];
        for (int i = 0; i < CC_MD5_DIGEST_LENGTH; ++i) {
            [md5Str appendFormat:@"%02x", result[i]];
        }
        return md5Str;
    }
    

    Swift 实现

    需要创建桥接文件 "项目名-Bridging-Header.h",在文件中引入头文件

    #import <CommonCrypto/CommonCrypto.h>
    

    给 String 添加属性,获取 MD5 值

    extension String {
        
        var md5: String {
            let str = cString(using: .utf8)
            let strLen = CC_LONG(lengthOfBytes(using: .utf8))
            let digestLen = Int(CC_MD5_DIGEST_LENGTH)
            let result = UnsafeMutablePointer<CUnsignedChar>.allocate(capacity: digestLen)
            
            CC_MD5(str!, strLen, result)
            
            var hash = ""
            for i in 0..<digestLen {
                hash = hash.appendingFormat("%02x", result[i])
            }
            
            result.deallocate(capacity: digestLen)
            
            return hash
        }
    }
    

    转载请注明出处:http://www.cnblogs.com/silence-cnblogs/p/6688700.html

  • 相关阅读:
    视频分解图片,图片合成视频
    获取图片中指定区域图片
    CALayer alpha mask not working
    多媒体编程ios摄像头图像抓取工具类
    10月17日
    10月16日
    10月15日
    10月14日
    10月13日
    10月12日
  • 原文地址:https://www.cnblogs.com/silence-cnblogs/p/6688700.html
Copyright © 2011-2022 走看看