func Decrypt(ciphertext, passphrase []byte) ([]byte, error)
Decrypt takes a JSON-encoded ciphertext object encrypted using Encrypt and tries to decrypt it using passphrase. If successful, it returns the plaintext.
func Encrypt(plaintext, passphrase []byte) ([]byte, error)
Encrypt takes a passphrase and plaintext, and returns a JSON object containing ciphertext and the details necessary to decrypt it.
func EncryptWithCustomKDFParameters(plaintext, passphrase []byte, kdfLevel KDFParameterStrength) ([]byte, error)
EncryptWithCustomKDFParameters takes a passphrase, the plaintext and a KDF parameter level (Legacy, Standard, or OWASP), and returns a JSON object containing ciphertext and the details necessary to decrypt it.
func Marshal(v interface{}, passphrase []byte) ([]byte, error)
Marshal encrypts the JSON encoding of v using passphrase.
func MarshalWithCustomKDFParameters(v interface{}, passphrase []byte, kdfLevel KDFParameterStrength) ([]byte, error)
MarshalWithCustomKDFParameters encrypts the JSON encoding of v using passphrase.
func Unmarshal(data []byte, v interface{}, passphrase []byte) error
Unmarshal decrypts the data using passphrase and unmarshals the resulting plaintext into the value pointed to by v.
KDFParameterStrength defines the KDF parameter strength level to be used for encryption key derivation.
type KDFParameterStrength uint8
const ( // Legacy defines legacy scrypt parameters (N:2^15, r:8, p:1) Legacy KDFParameterStrength = iota + 1 // Standard defines standard scrypt parameters which is focusing 100ms of computation (N:2^16, r:8, p:1) Standard // OWASP defines OWASP recommended scrypt parameters (N:2^17, r:8, p:1) OWASP )