zoukankan      html  css  js  c++  java
  • IOS开发问题录:如何在Swift中引入Head文件?

    最近在学习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);

  • 相关阅读:
    cocos2dx——九宫格CCScale9Sprite
    COCOS学习笔记--TexturePacker使用详解
    leetcode 旋转数组
    leetcode 从排序数组中删除重复项
    使用javascript随机生成斗地主玩家手牌
    模仿w3c school的示例导航栏
    c#中快速排序的学习
    常用语法梳理
    技巧类
    markdown备忘
  • 原文地址:https://www.cnblogs.com/TransTown/p/5421367.html
Copyright © 2011-2022 走看看