Swift调用sha1算法
2015-07-09 20:37
603 查看
在Swift中通过调用OC的CommonCrypto库可以很方便的实现String字符串转换为sha1。
在一个swift项目中,需要使用桥接头文件(Bridging header)的方式来引入一个OC库,才能调用OC中的内容。
本文也将作为Swift项目中如何调用Objective-C代码的一个介绍。
2、点击Next,输入文件名(这个文件后面可以删掉),选择保存位置,默认直接确定即可,保存在当前项目目录,然后Xcode会自动提示我们是否要创建桥接文件:
3、yes后,xode自动为我们创建了一个swift和OC桥接的文件:项目名-Bridging-Header.h
在这里,我们可以把test.m文件删除,调用sha1用不到自己在m中实现什么。
4、在Bridging-Header.h文件中输入:
5、在您的项目中(比如在一个swift文件中)写上一个String类的扩展(extension),代码如下:
非常的方便哦。
2、选择项目根节点,在右边的配置中选择【Build Settings】,然后在下面找到【Swift Compiler】节点,选择【Objective-C Bridging Header】项,双击输入刚才新建的h文件的路径:
3、现在,和标准步骤中一样,在Header.h文件中引入CommonCrypto库,创建String类的extension,即可开始使用!
tips:
本文由wp2osc导入,原文链接:http://devonios.com/swift-sha1.html
由于OSChina的OpenAPI在处理content参数时会自动过滤img标签,所以无法显示图片,详见。
在一个swift项目中,需要使用桥接头文件(Bridging header)的方式来引入一个OC库,才能调用OC中的内容。
本文也将作为Swift项目中如何调用Objective-C代码的一个介绍。
标准实现步骤
1、新建一个Objective-C m文件2、点击Next,输入文件名(这个文件后面可以删掉),选择保存位置,默认直接确定即可,保存在当前项目目录,然后Xcode会自动提示我们是否要创建桥接文件:
3、yes后,xode自动为我们创建了一个swift和OC桥接的文件:项目名-Bridging-Header.h
在这里,我们可以把test.m文件删除,调用sha1用不到自己在m中实现什么。
4、在Bridging-Header.h文件中输入:
// Swift中使用sha1算法 引入这个库 #import <CommonCrypto/CommonCrypto.h>就像这样:
5、在您的项目中(比如在一个swift文件中)写上一个String类的扩展(extension),代码如下:
extension String { func sha1() -> String { let data = self.dataUsingEncoding(NSUTF8StringEncoding)! var digest = [UInt8](count:Int(CC_SHA1_DIGEST_LENGTH), repeatedValue: 0) CC_SHA1(data.bytes, CC_LONG(data.length), &digest) let hexBytes = map(digest) { String(format: "%02hhx", $0) } return "".join(hexBytes) } }6、开始使用啦,代码:
var password = txtPasswd.text password = password.sha1()从一个输入框中获得用户输入的密码,然后直接调用sha1方法,即可得到该密码的sha1值。
非常的方便哦。
处女座手动实现步骤
1、在标准步骤中,我们是通过新建m文件,然后Xcode自动提示为我们创建一个桥接头文件的,这里我们可以忽略这一步,直接创建一个h文件,手动将这个h文件作为桥接头文件。2、选择项目根节点,在右边的配置中选择【Build Settings】,然后在下面找到【Swift Compiler】节点,选择【Objective-C Bridging Header】项,双击输入刚才新建的h文件的路径:
3、现在,和标准步骤中一样,在Header.h文件中引入CommonCrypto库,创建String类的extension,即可开始使用!
参考资料
http://stackoverflow.com/questions/25761344/how-to-crypt-string-to-sha1-with-swifttips:
本文由wp2osc导入,原文链接:http://devonios.com/swift-sha1.html
由于OSChina的OpenAPI在处理content参数时会自动过滤img标签,所以无法显示图片,详见。
相关文章推荐
- Swift辛格尔顿设计模式(SINGLETON)
- Swift开发教程--如何清除模拟器的数据
- Swift学习笔记系列——(5)函数
- swift 给导航增加item,实现界面的跳转
- Swift开发教程--Xcode6在iPhone模拟器上编译上下留有黑块问题
- Swift开发教程--Unused variable 'fileName'问题的解决
- 如何在Swift中使用NSError
- Swift语法之 ---- ?和!区别
- swift创建函数
- Swift1.0的Build Configurations如何使用?
- swift enum 和OC兼容
- swift 笔记 (二十) —— 泛型
- swift类和接口的使用
- OC调用Swift
- swift方法使用
- Swift调用OC和C
- 【swift-总结】方法
- IOS/Swift 添加第三方字体
- Swift教程之解包操作【感叹号的用法】
- Swift教程之可选类型【问号的用法】