swift数据加密

//
//  ViewController.swift
//  加密
//
//  Created by admin on 16/2/27.
//  Copyright © 2016年 jin. All rights reserved.
//

import UIKit

class ViewController: UIViewController,UIPickerViewDelegate,UIPickerViewDataSource {
    @IBOutlet weak var picker: UIPickerView!
    @IBOutlet weak var textField: UITextField!
    @IBOutlet weak var message: UILabel!
    @IBOutlet weak var keyText: UITextField!
    @IBOutlet weak var valueText: UITextField!

    let encodeArr = ["sha1","md5","hmacMD5StringWithKey"]
    let key = "jin"
    override func viewDidLoad() {
        super.viewDidLoad()
    }
    // 设备标识,存钥匙串数据的时候需要标识,这里取的时候用到了第三方库SSKeychain
    let service = "keyChainTest"
    @IBAction func saveKeyChain(sender: AnyObject) {
        // 设置钥匙串
        SSKeychain.setPassword(self.valueText.text, forService: self.service, account: self.keyText.text)
    }
    @IBAction func readKeyChain(sender: AnyObject) {
        // 打印所有钥匙串
        print(SSKeychain.allAccounts())
        // 取出钥匙串
        let content = SSKeychain.passwordForService(self.service, account: self.keyText.text)
        self.message.text = content
    }
    // 对数据进行编码,这里需要用到第三方类库
    @IBAction func encode(sender: AnyObject) {
        let str:NSString = self.textField.text!
        var encodeString = ""
        switch self.picker.selectedRowInComponent(0)
        {
        case 0:
            encodeString = str.sha1String()
            break
        case 1:
            encodeString = str.md5String()
        case 2:
            encodeString = str.hmacMD5StringWithKey(self.key)
            break
        default:
            break
        }
        self.message.text = encodeString
    }
    // 设置pickerView分组数量
    func numberOfComponentsInPickerView(pickerView: UIPickerView) -> Int {
        return 1
    }
    // 设置pickerView分组行数
    func pickerView(pickerView: UIPickerView, numberOfRowsInComponent component: Int) -> Int {
        return self.encodeArr.count
    }
    // 返回分组标题
    func pickerView(pickerView: UIPickerView, titleForRow row: Int, forComponent component: Int) -> String? {
        return self.encodeArr[row]
    }
}

标签: swift

添加新评论