go-generate-password alternatives and similar packages
Based on the "Security" category.
Alternatively, view go-generate-password alternatives based on common mentions on social networks and blogs.
-
Lean and Mean Docker containers
DockerSlim (docker-slim): Optimize and secure your Docker containers -
lego
Pure Go ACME client library and CLI tool (for use with Let's Encrypt) -
autocert
Auto provision Let's Encrypt certificates and start a TLS server. -
Cameradar
Tool and library to remotely hack RTSP streams from surveillance cameras. -
acmetool
ACME (Let's Encrypt) client tool with automatic renewal. -
memguard
Secure software enclave for storage of sensitive information in memory. -
secure
HTTP middleware for Go that facilitates some quick security wins. -
Themis by Cossack Labs
Crypto library for storage and messaging for Swift, ObjC, Android, С++, JS, Python, Ruby, PHP, Go -
acra
Network encryption proxy to protect database-based applications from data leaks: strong selective encryption, SQL injections prevention, intrusion detection system. -
ToRat
ToRat is a Remote Administation tool written in Go using Tor as a transport mechanism and RPC for communication -
go-yara
Go Bindings for YARA, the "pattern matching swiss knife for malware researchers (and everyone else)" -
BadActor
An in-memory, application-driven jailer built in the spirit of fail2ban -
firewalld-rest
A rest application to dynamically update firewalld rules on a linux server. -
go-password-validator
Password validator based on raw cryptographic entropy values. -
optimus-go
ID hashing and Obfuscation using Knuth's Algorithm. -
simple-scrypt
an scrypt package with a simple, obvious API and automatic cost calibration built-in. -
argon2pw
Argon2 password hash generation with constant-time password comparison. -
goSecretBoxPassword
A probably paranoid package for securely hashing and encrypting passwords. -
Credman
A simple, powerful, cross-platform and military grade secure credential management. -
goArgonPass
Argon2 password hash and verification designed to be compatible with existing Python and PHP implementations. -
certificates
An opinionated tool for generating tls certificates. -
secureio
An keyexchanging+authenticating+encrypting wrapper and multiplexer for io.ReadWriteCloser based on XChaCha20-poly1305, ECDH and ED25519. -
sslmgr
SSL certificates made easy with a high level wrapper around acme/autocert. -
argon2-hashing
light wrapper around Go's argon2 package that closely mirrors with Go's standard library Bcrypt and simple-scrypt package. -
Go random string generator
Flexible and customizable random string generator -
Interpol
Rule-based data generator for fuzzing and penetration testing.
Scout APM - Leading-edge performance monitoring starting at $39/month
* Code Quality Rankings and insights are calculated and provided by Lumnify.
They vary from L1 to L5 with "L5" being the highest. Visit our partner's website for more details.
Do you think we are missing an alternative of go-generate-password or a related project?
README
go-generate-password
Password generator written in Go. Use as a library or as a CLI.
Usage
CLI
go-generate-password can be used on the cli, just install using: go get github.com/m1/go-generate-password/cmd/go-generate-password
To use:
➜ go-generate-password --help
go-generate-password is a password generating engine written in Go.
Usage:
go-generate-password [flags]
Flags:
--characters string Character set for the config
--exclude-ambiguous Exclude ambiguous characters (default true)
--exclude-similar Exclude similar characters (default true)
-h, --help help for go-generate-password
-l, --length int Length of the password (default 24)
--lowercase Include lowercase letters (default true)
--numbers Include numbers (default true)
--symbols Include symbols (default true)
-n, --times int How many passwords to generate (default 1)
--uppercase Include uppercase letters (default true)
For example:
➜ go-generate-password
5PU?rG-w9YkDus4?AbmKd+Z*
More detailed example:
➜ go-generate-password -n 5 --length 16 --symbols=false
X89R4HvATgg7HSKk
YMwMPnXp7cnMTNdZ
RZWKAvyxFxDWRB8u
PvKb6uP4N7vAMVsD
KHttvhevGrTYptM5
Example using custom character set:
➜ go-generate-password -n 5 --characters=abcdefg01
10cecfcfe0bea1fdcbb1afcf
bfcgbgg0dccafdacdaa1de01
gb0ggcffcefae0bb1ac0bbge
abafbc1bbaff0cfbdgaee11d
1fge0fcbccabda0g0a01ffc0
Library
To use as a library is pretty simple:
config := generator.Config{
Length: 16,
IncludeSymbols: false,
IncludeNumbers: true,
IncludeLowercaseLetters: true,
IncludeUppercaseLetters: true,
ExcludeSimilarCharacters: true,
ExcludeAmbiguousCharacters: true,
}
g, _ := generator.New(&config)
pwd, _ := g.Generate()
// pwd = 8hp43B2R7gaXrZUW
pwds, _ := g.GenerateMany(5)
// pwds = [
// dnPp2TW2e8wmkAwT,
// XVYwWn25xuNwhUTy,
// vQ8aSrustQzxQCkA,
// AuT4fu5RU9TtxEUR,
// muDwwBRpKpC5BcHr,
// ]
pwd, _ = g.GenerateWithLength(12)
// pwd = HHhpzRGsmEWt
pwds, _ := g.GenerateManyWithLength(5, 12)
// pwds = [
// s5TKYPdgRzvZ
// wZFgzs8PUvRg
// tU73qZ9sPzEs
// mMaYU6hkvxPQ
// KBNZ2D7cVQS2
// ]
The library also comes with some helper constants:
const (
// LengthWeak weak length password
LengthWeak = 6
// LengthOK ok length password
LengthOK = 12
// LengthStrong strong length password
LengthStrong = 24
// LengthVeryStrong very strong length password
LengthVeryStrong = 36
// DefaultLetterSet is the letter set that is defaulted to - just the
// alphabet
DefaultLetterSet = "abcdefghijklmnopqrstuvwxyz"
// DefaultLetterAmbiguousSet are letters which are removed from the
// chosen character set if removing similar characters
DefaultLetterAmbiguousSet = "ijlo"
// DefaultNumberSet the default symbol set if character set hasn't been
// selected
DefaultNumberSet = "0123456789"
// DefaultNumberAmbiguousSet are the numbers which are removed from the
// chosen character set if removing similar characters
DefaultNumberAmbiguousSet = "01"
// DefaultSymbolSet the default symbol set if character set hasn't been
// selected
DefaultSymbolSet = "!$%^&*()_+{}:@[];'#<>?,./|\\-=?"
// DefaultSymbolAmbiguousSet are the symbols which are removed from the
// chosen character set if removing ambiguous characters
DefaultSymbolAmbiguousSet = "<>[](){}:;'/|\\,"
)