//
// 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]
}
}