diff --git a/Cartfile b/Cartfile index bfd1d63..c8f12c5 100644 --- a/Cartfile +++ b/Cartfile @@ -4,4 +4,3 @@ github "mssun/objective-git" "master" github "zahlz/SwiftPasscodeLock" "master" github "bitserf/FavIcon" github "kishikawakatsumi/KeychainAccess" "master" - diff --git a/pass/Helpers/DefaultsKeys.swift b/pass/Helpers/DefaultsKeys.swift index 375849e..791e9c1 100644 --- a/pass/Helpers/DefaultsKeys.swift +++ b/pass/Helpers/DefaultsKeys.swift @@ -17,9 +17,6 @@ extension DefaultsKeys { static let pgpPublicKeyArmor = DefaultsKey("pgpPublicKeyArmor") static let pgpPrivateKeyArmor = DefaultsKey("pgpPrivateKeyArmor") -// -// static let pgpPrivateKeyURLPassphrase = DefaultsKey("pgpPrivateKeyURLPassphrase") -// static let pgpPrivateKeyArmorPassphrase = DefaultsKey("pgpPrivateKeyArmorPassphrase") static let pgpKeyID = DefaultsKey("pgpKeyID") static let pgpKeyUserID = DefaultsKey("pgpKeyUserID") @@ -36,5 +33,12 @@ extension DefaultsKeys { static let passcodeKey = DefaultsKey("passcodeKey") static let isHideUnknownOn = DefaultsKey("isHideUnknownOn") + + static let passwordGenerationMethod = DefaultsKey("passwordGenerationMethod") + func initDefaultKeys() { + if Defaults[.passwordGenerationMethod] == "" { + Defaults[.passwordGenerationMethod] = "Random" + } + } } diff --git a/pass/Helpers/Utils.swift b/pass/Helpers/Utils.swift index b76cdc5..729d665 100644 --- a/pass/Helpers/Utils.swift +++ b/pass/Helpers/Utils.swift @@ -37,6 +37,17 @@ class Utils { 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 { let letters : NSString = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789"