Wrapper library that contains security-related stuff.
Encrypt and decrypt stuff using authenticated state-of-the-art crypto, provided by golang.org/x/crypto/nacl/secretbox.
func GenerateKey() ([]byte, error)
func Encrypt(input []byte, key []byte) ([]byte, error)
func Decrypt(input []byte, key []byte) ([]byte, error)
<nonce(24b)><ciphertext>
Formats your password hashes in a standard (multihash-like) format so it keeps on working whenever you change algo. Defaults to Argon2id from golang.org/x/crypto/argon2.
func GetHash(input string) (string, error)
func VerifyHash(hash string, input string) (bool, error)
func NeedsRehash(hash string) (bool, error)
$argon2$i:4:65536$IO+amcBFUXUETmI=$GpiSk2q1+y2DyfRVsg13BmIGE/oM0GLcM0SOs0s/H/s=
$<algo>$<parameters>$salt$key$
Where parameters contains information for the specific hashing algorhitm, such as size/modus/memory.