OC获取文件MD5值与swift字符串MD5加密方法

OC获取文件MD5值与swift字符串MD5加密方法,第1张

概述OC:    使用前需先#import <CommonCrypto/CommonDigest.h>  //path为文件路径 +(NSString *)getImageMD5:(NSString *)path{     NSFileHandle *handle = [NSFileHandle fileHandleForReadingAtPath:path];     if( handle== ni

OC:

使用前需先#import<CommonCrypto/CommonDigest.h>

//path为文件路径

+(Nsstring *)getimageMD5:(Nsstring *)path{

NSfileHandle *handle = [NSfileHandle fileHandleForReadingAtPath:path];

if( handle== nil ) {

return nil;

}

CC_MD5_CTX md5;

CC_MD5_Init(&md5);

BOol done = NO;

while(!done)

{

NSData* fileData = [handle readDataOfLength: 256 ];

CC_MD5_Update(&md5,[fileData bytes],[fileData length]);

if( [fileData length] == 0 ) done = YES;

}

unsigned char digest[CC_MD5_DIGEST_LENGTH];

CC_MD5_Final(digest,&md5);

Nsstring* s = [Nsstring stringWithFormat: @"%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x",

digest[0],digest[1],

digest[2],digest[3],

digest[4],digest[5],

digest[6],digest[7],

digest[8],digest[9],

digest[10],digest[11],

digest[12],digest[13],

digest[14],digest[15]];

return s;

}

swift:

使用方法,1,在header文件导入<CommonCrypto/CommonDigest.h>

2,在任意swift类中添加下边的方法。

3,调用var fIElad :Nsstring = 字符串.md5()

//字符串MD5加密

extension String{

func md5() ->String!{

let str = self.cStringUsingEnCoding(NSUTF8StringEnCoding)

let strLen = CUnsignedInt(self.lengthOfBytesUsingEnCoding(NSUTF8StringEnCoding))

let digestLen = Int(CC_MD5_DIGEST_LENGTH)

let result = UnsafeMutablePointer<CUnsignedChar>.alloc(digestLen)

CC_MD5(str!,strLen,result)

var hash = NSMutableString()

for i in 0 ..< digestLen {

hash.appendFormat("%02x",result[i])

}

result.destroy()

return String(format: hash as String)

}

}

总结

以上是内存溢出为你收集整理的OC获取文件MD5值与swift字符串MD5加密方法全部内容,希望文章能够帮你解决OC获取文件MD5值与swift字符串MD5加密方法所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1078350.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-27
下一篇 2022-05-27

发表评论

登录后才能评论

评论列表(0条)

保存