龙空技术网

小白开发iOS系列:如何进行MD5加密

热爱工作的小乐子 58

前言:

今天小伙伴们对“c语言md5文件”大体比较关怀,各位老铁们都想要分析一些“c语言md5文件”的相关知识。那么小编在网上搜集了一些有关“c语言md5文件””的相关资讯,希望大家能喜欢,各位老铁们快快来学习一下吧!

Hello! Every one!我是迷人又可爱的女程序媛阿姨~

临近年末,刚刚过去的周末又是圣诞节,真是不想上班呀!不知道各位程序员小白们是不是有跟我一样的想法呢?

今天我们继续之前开了一个头的小白开发iOS系列。上次我们简单介绍了如何在swift源码中引入Objective-C的桥接头文件,今天我们就来实际应用一下吧。

所以今天要用到的例子,是教大家如何在iOS开发过程中,使用swift语言对字符串进行MD5加密。

说道MD5加密,其实稍有经验的程序员都应该非常熟悉了,应该不需要我再多言。另外对iOS开发相当熟练的老司机们,也请轻轻拍砖,毕竟还是有大量新入坑的小白们还处于啥都不懂的阶段嘛~

创建桥接头文件

关于如何创建Objective-C和swift之间的桥接头文件,之前已经介绍得比较详细了,我们在这里就直接跳过,进入到下一步吧。

引入OC库

在我们创建好的桥接头文件中,写入以下代码:

#import <CommonCrypto/CommonDigest.h>

将这句代码引入在桥接头文件中,意味着我们就可以在swift源文件中使用oc库已有的MD5加密算法了。这是典型的“使用已有的轮子”的思想。

编写md5加密方法

这一步其实没有什么好多说的了,直接贴上代码吧。

注意,本段代码在pc端查看效果更佳

func md5String(strIn:String) ->String{

let str = strIn.cString(using: String.Encoding.utf8)

let strLen = CC_LONG(strIn.lengthOfBytes(using: String.Encoding.utf8))

let digestLen = Int(CC_MD5_DIGEST_LENGTH)

let result = UnsafeMutablePointer<CUnsignedChar>.allocate(capacity: digestLen);

CC_MD5(str!, strLen, result);

let hash = NSMutableString();

for i in 0 ..< digestLen {

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

}

result.deinitialize();

return String(format: hash as String)

}

怎么样,是不是特别简单呢~觉得对自己有帮助的话,还请关注我,并且多多指正,谢谢大家啦

标签: #c语言md5文件 #md5的加密方法