一个 Golang 库,用于生成与 1Password 或 LastPass 类似的高熵随机密码。
此库实现了使用提供的要求生成随机密码,如AgileBits 1Password所描述的纯 Golang 方式。该算法通常用于生成网站密码。
func main() { // 生成一个长度为 64 个字符的密码,包含 10 个数字、10 个符号,允许大小写字母,不允许重复字符。 res, err := password.Generate(64, 10, 10, false, false) if err != nil { log.Fatal(err) } log.Print(res) }
See the [GoDoc](https://pkg.go.dev/github.com/sethvargo/go-password/password) for more
information.
## Testing
For testing purposes, instead of accepted a `*password.Generator` struct, accept
a `password.PasswordGenerator` interface:
go // func MyFunc(p *password.Generator) func MyFunc(p password.PasswordGenerator) { // ... }
Then, in tests, use a mocked password generator with stubbed data:
go func TestMyFunc(t *testing.T) { gen := password.NewMockGenerator("canned-response", false) MyFunc(gen) } 在本示例中,模拟生成器将始终返回值 "canned-response",无论提供的参数如何。
此代码采用 MIT 许可证授权。
暂无开放 Issues,或尚未同步最近议题。