Go library providing simple and secure password management
Clone or download
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
.gitignore Hello world! Aug 6, 2017
.golangci.yml Remove unnecessary golangci-lint excluded/ignored rules Nov 1, 2018
.travis.yml Run tests in CI in verbose mode for timings Nov 1, 2018
Gopkg.lock Use latest version of dep (v0.5.0) to update dependencies Sep 12, 2018
Gopkg.toml Hello world! Aug 6, 2017
LICENSE Initial commit Aug 6, 2017
README.md Support Go 1.11 Sep 12, 2018
SECURITY.md Add SECURITY.md Jan 10, 2018
audit_logger.go Use variadic version of append for efficiency Sep 12, 2018
audit_logger_test.go Start using golangci-lint Sep 12, 2018
benchmarks_test.go Start using golangci-lint Sep 12, 2018
config.go Make most tests black box tests Sep 12, 2018
config_test.go Start using golangci-lint Sep 12, 2018
consts_test.go Start using golangci-lint Sep 12, 2018
credential.go Start using golangci-lint Sep 12, 2018
credential_internal_test.go Make most tests black box tests Sep 12, 2018
credential_test.go Start using golangci-lint Sep 12, 2018
doc.go Hello world! Aug 6, 2017
errors.go Move custom errors to errors.go Mar 28, 2018
example_credential_store_peppered_test.go Start using golangci-lint Sep 12, 2018
example_credential_store_test.go Start using golangci-lint Sep 12, 2018
go.mod Upgrade golang.org/x/crypto (only for Go modules) Nov 1, 2018
go.sum Upgrade golang.org/x/crypto (only for Go modules) Nov 1, 2018
passhash.go Only use fmt.Errorf() if the error string requires formatting, otherw… Mar 28, 2018
passhash_test.go Start using golangci-lint Sep 12, 2018
password_policies.go Move custom errors to errors.go Mar 28, 2018
password_policies_test.go Make most tests black box tests Sep 12, 2018
store.go Only use fmt.Errorf() if the error string requires formatting, otherw… Mar 28, 2018
store_test.go Make most tests black box tests Sep 12, 2018

README.md

Passhash Build Status Code Coverage GoDoc Go Report Card GitHub Release Supported Go versions HackerOne

passhash addresses the dismal state of password management in Go by offering easy-to-use APIs to manage credentials (e.g. password hashes)

Note: The exposed surfaces (e.g. interfaces, structs, and struct fields) are in flux until v1.0.0 is released

Features

  • Simple, easy to use API
  • Tunable work factors
  • Auto-upgrading KDFs and work factors
  • Password usage audit log
  • Password policies

Available Password Policies

Password Policy Repo
AtLeastNRunes Included
NotCommonPasswordNaive Included

Available CredentialStores

Credential Store Repo
DummyCredentialStore Included
StringCredentialStore Included (in examples)
StringCredentialPepperedStore Included (in examples)

Available AuditLoggers

Audit Logger Repo
DummyAuditLogger Included
MemoryAuditLogger Included