base加密解密

//
//  ViewController.swift
//  base64
//
//  Created by zhang on 16/2/26.
//  Copyright © 2016年 jin. All rights reserved.
//

import UIKit

class ViewController: UIViewController {

    @IBOutlet weak var name: UITextField!
    @IBOutlet weak var password: UITextField!
    @IBOutlet weak var messageLable: UILabel!
    override func viewDidLoad() {
        super.viewDidLoad()
        let userDefault = NSUserDefaults.standardUserDefaults()
        let userName = userDefault.valueForKey("username")
        print(userName)
        if userName != nil
        {
            self.name.text = self.decode(userName as! String)
            let password = userDefault.valueForKey("password")
            self.password.text = self.decode(password as! String)
        }
    }

    @IBAction func login(sender: AnyObject) {
        let username = self.name.text
        let password = self.password.text
        let url = NSURL(string: "http://localhost/login.php")
        let request = NSMutableURLRequest(URL: url!, cachePolicy: NSURLRequestCachePolicy.ReloadIgnoringCacheData, timeoutInterval: 10)
        request.HTTPMethod = "post"
        let dataString = "username=\(self.encode(username!))&password=\(self.encode(password!))"
        print(dataString)
        request.HTTPBody = dataString.dataUsingEncoding(NSUTF8StringEncoding)
        NSURLConnection.sendAsynchronousRequest(request, queue: NSOperationQueue()) { (response:NSURLResponse?, data:NSData?, error:NSError?) -> Void in
            let json:AnyObject? = try? NSJSONSerialization.JSONObjectWithData(data!, options: NSJSONReadingOptions.AllowFragments)
            let userId:Int! = json?.valueForKey("userId") as! Int
            var str = ""
            if userId != nil && userId > 0
            {
                str = "登陆成功"
                let userDefault = NSUserDefaults.standardUserDefaults()
                userDefault.setObject(self.encode(username!), forKey: "username")
                userDefault.setObject(self.encode(password!), forKey: "password")
                userDefault.synchronize()
            }
            else
            {
                str = "登陆失败"
            }
            NSOperationQueue.mainQueue().addOperationWithBlock({ [weak self,str] () -> Void in
                self!.messageLable.text = str
            })
        }
    }
    func encode(str:String)->String
    {
        // 字符串转换成d
        let data = str.dataUsingEncoding(NSUTF8StringEncoding)
        let encodeStr = data?.base64EncodedStringWithOptions(NSDataBase64EncodingOptions.Encoding64CharacterLineLength)
        return encodeStr!
    }
    func decode(str:String)->String
    {
        let decode = NSData(base64EncodedString: str, options: NSDataBase64DecodingOptions.IgnoreUnknownCharacters)
        return String(data: decode!, encoding: NSUTF8StringEncoding)!
    }
}

标签: swift, 网络

添加新评论