HaveIBeenPwned
使用 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]")