Swift Package Index


A small Swift wrapper for HIBP's PwnedPasswords


  • The latest stable release is 0.1.4. Released 2 years ago.
  • The last commit to master was 2 years ago.

Swift Version Compatibility

  • 0.1.4
    5.3
    5.2
    5.1
    5.0
    4.2
  • master
    5.3
    5.2
    5.1
    5.0
    4.2
Full build results

Platform Compatibility

  • 0.1.4 and master
    iOS
    macOS(Intel)
    macOS(ARM)
    Linux
    tvOS
    watchOS
Full build results

PwnedPasswords

CI Status Version License Platform

Requirements

Swift 4.0

Important

This library never sends the password over the network nor does it store the passwords processed. You can read about how it works here

Installation

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"))

Usage

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")
        }
      }
    }
  }
}

Disclaimer

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 🎉

Libraries

SHA1 algorithm taken from https://github.com/idrougge/sha1-swift

Author

foffer, foffer@gmail.com

License

PwnedPasswords is available under the MIT license. See the LICENSE file for more info.