Swift 4.0
This library never sends the password over the network nor does it store the passwords processed. You can read about how it works here
PwnedPasswords is available through CocoaPods. To install it, simply add the following line to your Podfile:
pod 'PwnedPasswords'
or with Swift Package Manager
.package(url: "https://github.com/foffer/PwnedPasswords.git", .branch("master"))
class ViewController: UIViewController {
@IBOutlet weak var textField: UITextField!
@IBAction func buttonDidPress(_ sender: Any) {
guard let text = textField.text else { return }
let client = PwnedPasswords()
client.check(text) { occurences, error in
guard error == nil else {
print(error)
return
}
if let occurences = occurences {
if occurences > 0 {
print("🛑 The password you entered has been in a breach")
} else {
print("✅ The password you entered was not found")
}
}
}
}
}
This is a wrapper over haveibeenpwned.com/Passwords created by Troy Hunt. Troy has created this service and is serving it up himself. Please use responsibly. Thanks to Troy for creating amazing things like these 🎉
SHA1 algorithm taken from https://github.com/idrougge/sha1-swift
foffer, foffer@gmail.com
PwnedPasswords is available under the MIT license. See the LICENSE file for more info.