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
Slim(toolkit): Don't change anything in your container image and minify it by up to 30x (and for compiled languages even more) making it secure too! (free and open source) -
age
A simple, modern and secure encryption tool (and Go library) with small explicit keys, no config options, and UNIX-style composability. -
Themis by Cossack Labs
Easy to use cryptographic framework for data protection: secure messaging with forward secrecy and secure data storage. Has unified APIs across 14 platforms. -
acra
Database security suite. Database proxy with field-level encryption, search through encrypted data, SQL injections prevention, intrusion detection, honeypots. Supports client-side and proxy-side ("transparent") encryption. SQL, NoSQL. -
ToRat
DISCONTINUED. ToRat is a Remote Administation tool written in Go using Tor as a transport mechanism and RPC for communication -
dongle
A simple, semantic and developer-friendly golang package for encoding&decoding and encryption&decryption -
teler-waf
teler-waf is a Go HTTP middleware that protects local web services from OWASP Top 10 threats, known vulnerabilities, malicious actors, botnets, unwanted crawlers, and brute force attacks. -
go-peer
๐ Library for developing secure, decentralized, anonymous and quantum-resistant networks in Go language -
simple-scrypt
A convenience library for generating, comparing and inspecting password hashes using the scrypt KDF in Go ๐ -
goSecretBoxPassword
A probably paranoid Golang utility library for securely hashing and encrypting passwords based on the Dropbox method. This implementation uses Blake2b, Scrypt and XSalsa20-Poly1305 (via NaCl SecretBox) to create secure password hashes that are also encrypted using a master passphrase. -
passwap
Package passwap provides a unified implementation between different password hashing algorithms. It allows for easy swapping between algorithms, using the same API for all of them. -
secureio
An easy-to-use XChaCha20-encryption wrapper for io.ReadWriteCloser (even lossy UDP) using ECDH key exchange algorithm, ED25519 signatures and Blake3+Poly1305 checksums/message-authentication for Go (golang). Also a multiplexer. -
goArgonPass
goArgonPass is a Argon2 Password utility package for Go using the crypto library package Argon2 designed to be compatible with Passlib for Python and Argon2 PHP. Argon2 was the winner of the most recent Password Hashing Competition. This is designed for use anywhere password hashing and verification might be needed and is intended to replace implementations using bcrypt or Scrypt.
CodeRabbit: AI Code Reviews for Developers
* Code Quality Rankings and insights are calculated and provided by Lumnify.
They vary from L1 to L5 with "L5" being the highest.
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 = "<>[](){}:;'/|\\,"
)