add function to generate Apple's style password

This commit is contained in:
Bob Sun 2017-02-20 21:56:23 +08:00
parent 663ccd1a85
commit 81ed04b620
No known key found for this signature in database
GPG key ID: 1F86BA2052FED3B4
3 changed files with 18 additions and 4 deletions

View file

@ -4,4 +4,3 @@ github "mssun/objective-git" "master"
github "zahlz/SwiftPasscodeLock" "master" github "zahlz/SwiftPasscodeLock" "master"
github "bitserf/FavIcon" github "bitserf/FavIcon"
github "kishikawakatsumi/KeychainAccess" "master" github "kishikawakatsumi/KeychainAccess" "master"

View file

@ -17,9 +17,6 @@ extension DefaultsKeys {
static let pgpPublicKeyArmor = DefaultsKey<String?>("pgpPublicKeyArmor") static let pgpPublicKeyArmor = DefaultsKey<String?>("pgpPublicKeyArmor")
static let pgpPrivateKeyArmor = DefaultsKey<String?>("pgpPrivateKeyArmor") static let pgpPrivateKeyArmor = DefaultsKey<String?>("pgpPrivateKeyArmor")
//
// static let pgpPrivateKeyURLPassphrase = DefaultsKey<String?>("pgpPrivateKeyURLPassphrase")
// static let pgpPrivateKeyArmorPassphrase = DefaultsKey<String?>("pgpPrivateKeyArmorPassphrase")
static let pgpKeyID = DefaultsKey<String?>("pgpKeyID") static let pgpKeyID = DefaultsKey<String?>("pgpKeyID")
static let pgpKeyUserID = DefaultsKey<String?>("pgpKeyUserID") static let pgpKeyUserID = DefaultsKey<String?>("pgpKeyUserID")
@ -37,4 +34,11 @@ extension DefaultsKeys {
static let isHideUnknownOn = DefaultsKey<Bool>("isHideUnknownOn") static let isHideUnknownOn = DefaultsKey<Bool>("isHideUnknownOn")
static let passwordGenerationMethod = DefaultsKey<String>("passwordGenerationMethod")
func initDefaultKeys() {
if Defaults[.passwordGenerationMethod] == "" {
Defaults[.passwordGenerationMethod] = "Random"
}
}
} }

View file

@ -37,6 +37,17 @@ class Utils {
return lastUpdatedTimeString return lastUpdatedTimeString
} }
static func generatePassword(length: Int) -> String{
switch Defaults[.passwordGenerationMethod] {
case "Random":
return randomString(length: length)
case "Keychain":
return Keychain.generatePassword()
default:
return randomString(length: length)
}
}
static func randomString(length: Int) -> String { static func randomString(length: Int) -> String {
let letters : NSString = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789" let letters : NSString = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789"