security

package
v0.0.0-...-8c22e84 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Apr 21, 2024 License: MIT Imports: 17 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func Decrypt

func Decrypt(cipherText string, key string) ([]byte, error)

Decrypt decrypts encrypted text with key (must be valid 32 chars AES key).

This method uses AES-256-GCM block cypher mode.

func Encrypt

func Encrypt(data []byte, key string) (string, error)

Encrypt encrypts "data" with the specified "key" (must be valid 32 char AES key).

This method uses AES-256-GCM block cypher mode.

func Equal

func Equal(hash1 string, hash2 string) bool

Equal compares two hash strings for equality without leaking timing information.

func HS256

func HS256(text string, secret string) string

HS256 creates a HMAC hash with sha256 digest algorithm.

func HS512

func HS512(text string, secret string) string

HS512 creates a HMAC hash with sha512 digest algorithm.

func MD5

func MD5(text string) string

MD5 creates md5 hash from the provided plain text.

func NewJWT

func NewJWT(payload jwt.MapClaims, signingKey string, secondsDuration int64) (string, error)

NewJWT generates and returns new HS256 signed JWT.

func NewToken deprecated

func NewToken(payload jwt.MapClaims, signingKey string, secondsDuration int64) (string, error)

Deprecated: Consider replacing with NewJWT().

NewToken is a legacy alias for NewJWT that generates a HS256 signed JWT.

func ParseJWT

func ParseJWT(token string, verificationKey string) (jwt.MapClaims, error)

ParseJWT verifies and parses JWT and returns its claims.

func ParseUnverifiedJWT

func ParseUnverifiedJWT(token string) (jwt.MapClaims, error)

ParseUnverifiedJWT parses JWT and returns its claims but DOES NOT verify the signature.

It verifies only the exp, iat and nbf claims.

func PseudorandomString

func PseudorandomString(length int) string

PseudorandomString generates a pseudorandom string with the specified length.

The generated string matches [A-Za-z0-9]+ and it's transparent to URL-encoding.

For a cryptographically random string (but a little bit slower) use RandomString instead.

func PseudorandomStringWithAlphabet

func PseudorandomStringWithAlphabet(length int, alphabet string) string

PseudorandomStringWithAlphabet generates a pseudorandom string with the specified length and characters set.

For a cryptographically random (but a little bit slower) use RandomStringWithAlphabet instead.

func RandomString

func RandomString(length int) string

RandomString generates a cryptographically random string with the specified length.

The generated string matches [A-Za-z0-9]+ and it's transparent to URL-encoding.

func RandomStringWithAlphabet

func RandomStringWithAlphabet(length int, alphabet string) string

RandomStringWithAlphabet generates a cryptographically random string with the specified length and characters set.

It panics if for some reason rand.Int returns a non-nil error.

func S256Challenge

func S256Challenge(code string) string

S256Challenge creates base64 encoded sha256 challenge string derived from code. The padding of the result base64 string is stripped per RFC 7636.

func SHA256

func SHA256(text string) string

SHA256 creates sha256 hash as defined in FIPS 180-4 from the provided text.

func SHA512

func SHA512(text string) string

SHA512 creates sha512 hash as defined in FIPS 180-4 from the provided text.

Types

This section is empty.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL