HaveIBeenPwned 2.0.0

HaveIBeenPwned 2.0.0

Vincent HO-SUNE 维护。



  • Vincent HO-SUNE

HaveIBeenPwned

Language Platform HaveIBeenPwned GitHub license GitHub release CocoaPods Compatible Carthage Compatible

使用 APIv3 的 haveibeenpwned.com 的 Swift 库

注意:某些 API 请求需要 付费 API 密钥

要求

  • iOS 8.0+ / macOS 10.10+
  • Swift 5+

安装

CocoaPods

CocoaPods 是 Cocoa 项目的依赖管理器。

Podfile:

pod 'HaveIBeenPwned'

Carthage

Carthage 是一个去中心化的依赖管理器,它会构建您的依赖并提供二进制框架。

Cartfile:

github "vhosune/HaveIBeenPwned"

快速上手

  • 检查密码是否已在数据泄露中被破解
    import HaveIBeenPwned

    // init HaveIBeenPwned with its Settings
    let pwned = HaveIBeenPwned(with: HaveIBeenPwned.Settings())

    // create a request
    if let request = pwned.requestSearch(password: "password") {

        // fetch the request
        let task = URLSession.shared.dataTask(with: request) { (data, response, error) in
                
            // parse the result
            let result = pwned.parseResponse(data, response, error)
                
            // handle the parsed result
            if case .passwords(let ranges) = try? result.get() {
                let count = HaveIBeenPwned.search(for: "password", in: ranges)
                print("has been pwned \(count) times")
            }
        }
            
        task.resume()
    }
  • 检查网站是否已遭受入侵
    let request = pwned.requestBreach(name: "yahoo")
  • 检查用户账户是否出现在数据泄露中
    // init HaveIBeenPwned with its Settings and the Api key
    let pwned = HaveIBeenPwned(with: HaveIBeenPwned.Settings(apiKey: "YOUR_API_KEY"))
    let request = pwned.requestBreached(account: "[email protected]")