Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- //
- // Preferences.swift
- // cfn
- //
- // Created by nguyen.van.hung on 11/10/16.
- // Copyright © 2016 Le Thi Van Anh. All rights reserved.
- //
- import Foundation
- import KeychainSwift
- import AES256CBC
- class Preferences {
- private static let kCurrentLocale = "CurrentLocale"
- private static let kDefaultLocale = "ja"
- private static let kEmail = "Email"
- private static let kPassword = "Password"
- private static let kTypeLogin = "TypeLogin"
- private static let kKeyAES = "12345678901234567890123456789012"
- private static let _instance = Preferences()
- static func sharedInstance() -> Preferences {
- return _instance
- }
- func currentLocale() -> String {
- if let locale = UserDefaults.standard.value(forKey: Preferences.kCurrentLocale) {
- return locale as! String
- }
- return Preferences.kDefaultLocale
- }
- func setCurrentLocale(_ locale: String) {
- UserDefaults.standard.set(locale, forKey: Preferences.kCurrentLocale)
- UserDefaults.standard.synchronize()
- }
- func getTypeLogin() -> Int {
- if let typeLogin = UserDefaults.standard.value(forKey: Preferences.kTypeLogin) {
- return typeLogin as! Int
- }
- return -1
- }
- func setTypeLogin(typeLogin: Int) {
- UserDefaults.standard.set(typeLogin, forKey: Preferences.kTypeLogin)
- UserDefaults.standard.synchronize()
- }
- func getInfoLogin() -> (String, String) {
- let keychain = KeychainSwift()
- if let email = keychain.get(Preferences.kEmail), let password = keychain.get(Preferences.kPassword) {
- if let passswordDecrypted = AES256CBC.decryptString(password, password: Preferences.kKeyAES) {
- return (email, passswordDecrypted)
- }
- }
- return ("", "")
- }
- func setInfoLogin(email: String, password: String) {
- let keychain = KeychainSwift()
- if let passswordEncrypted = AES256CBC.encryptString(password, password: Preferences.kKeyAES) {
- keychain.set(passswordEncrypted, forKey: Preferences.kPassword)
- keychain.set(email, forKey: Preferences.kEmail)
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment