概要
hesahesa/pwdbro を使います
環境
- macOS 11.6
- golang 1.17
インストール
- go get -u “github.com/hesahesa/pwdbro”
サンプルコード
package main
import (
"fmt"
"github.com/hesahesa/pwdbro"
)
func main() {
pass := ""
pwdbro := pwdbro.NewDefaultPwdBro()
// パスワードの強度のチェック結果は status に配列で格納されています
// pwnedpasswords と zxcvbn とパスワードが空かの 3 つのチェック方法の結果が格納されています
status, err := pwdbro.RunChecks(pass)
if err != nil {
panic(err)
}
// 3 回ループします
for _, resp := range status {
// Safe は true or false が返ってきます
// true の場合はパスワードが強度チェックをパスしています
fmt.Println("*******************Safe")
fmt.Println(resp.Safe)
// Method は各パスワードのチェック方法が文字列で格納されています
fmt.Println("*******************Method")
fmt.Println(resp.Method)
// Message は各パスワードチェックの結果が文字列で含まれています
fmt.Println("*******************Message")
fmt.Println(resp.Message)
// Error はもしエラーだった場合に nil 以外のエラー情報が含まれています
fmt.Println("*******************Error")
fmt.Println(resp.Error)
}
}
ポイント
pwnedpasswords というサービスの API を使っているのでオフラインだと pwnedpasswords の結果は必ず false になります
オフラインの場合は zxcvbn の結果を見て判断すると良いかなと思います
0 件のコメント:
コメントを投稿