IOS开发问题录:如何在Swift中引入Head文件?

时间:2023-12-21 17:30:38

最近在学习IOS开发,从一个简单的登录开始,逐步解决了一个网络访问、获取控件值等问题,遇到了信息加密的问题。

做为IOS的入门者,信息加密需要解决如下几个问题:

1、IOS的MD5加密有没有固定函数,怎么使用这个函数。。

经过查资料,在Object-C中有内置的函数

2、如何引入Object-C的函数

首先添加头文件,在xode 7 项目上右键 -new File-》IOS-》Source-》HeadFile->下一步设置命名,可以任意命名,在head.h中加入如下代码:

#import <CommonCrypto/CommonDigest.h>

3、如何把Head文件引入项目中

在code7,项目根目录路点击,选择“build settings“,选择”all",搜素swift 就会找到 “Swift Compiler – Code Generation”,在 “Objective-C Bridging Header” 内输入“ProjectName/ProjectName-Bridging-Header.h” 也就是刚才添加的head文件。

完成Head引入后,开始扩展md5函数,在任意swift加入如下代码:

// StringMD5.swift
extension String {
var MD5: String {
let cString = self.cStringUsingEncoding(NSUTF8StringEncoding)
let length = CUnsignedInt(
self.lengthOfBytesUsingEncoding(NSUTF8StringEncoding)
)
let result = UnsafeMutablePointer<CUnsignedChar>.alloc(
Int(CC_MD5_DIGEST_LENGTH)
) CC_MD5(cString!, length, result) return String(format:
"%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x",
result[0], result[1], result[2], result[3],
result[4], result[5], result[6], result[7],
result[8], result[9], result[10], result[11],
result[12], result[13], result[14], result[15])
}
}

 以上代码在网上找到“http://www.cocoachina.com/bbs/read.php?tid-290038.html”

可以任意使用md5加密了

print(postString.md5);