A simple Go library for cryptographic
import "github.com/kayon/crypt"func main() { ... c, err := crypt.NewAES(key, nil, crypt.Options{Padding: crypt.PAD_ZEROPADDING}) if err != nil { ... } // encrypt ciphertext, err := c.Encrypt(plaintext) // decrypt plaintext, err = c.Decrypt(ciphertext) ... // shortcuts ciphertext, err := crypt.AES.Encrypt(plaintext, key, nil, crypt.Options{Mode: crypt.MODE_CBC, Padding: crypt.PAD_ANSIX923})}
AES
NewAES(key, iv []byte, args ...Options) (*Crypt, error)
DES
NewDES(key, iv []byte, args ...Options) (*Crypt, error)
Triple DES
NewDES3(key, iv []byte, args ...Options) (*Crypt, error)
ChaCha20
NewChaCha20(key, iv []byte)(*Crypt, error)
Blowfish
NewBlowfish(key[]byte) (*Crypt, error)
RC4
NewRC4(key []byte) (*Crypt, error)
(Crypt) Encrypt(plaintext []byte) (ciphertext []byte, err error)(Crypt) Decrypt(ciphertext []byte) (plaintext []byte, err error)
AES
AES.Encrypt(plaintext, key, iv []byte, args ...Options) ([]byte, error)
AES.Decrypt(ciphertext, key, iv []byte, args ...Options) ([]byte, error)
DES
DES.Encrypt(plaintext, key, iv []byte, args ...Options) ([]byte, error)
DES.Decrypt(ciphertext, key, iv []byte, args ...Options) ([]byte, error)
DES3
DES3.Encrypt(plaintext, key, iv []byte, args ...Options) ([]byte, error)
DES3.Decrypt(ciphertext, key, iv []byte, args ...Options) ([]byte, error)
ChaCha20
ChaCha20.Encrypt(plaintext, key, iv []byte) ([]byte, error)
ChaCha20.Decrypt(ciphertext, key, iv []byte) ([]byte, error)
Blowfish
Blowfish.Encrypt(plaintext, key []byte) ([]byte, error)
Blowfish.Decrypt(ciphertext, key []byte) ([]byte, error)
RC4
RC4.Encrypt(plaintext, key []byte) ([]byte, error)
RC4.Decrypt(ciphertext, key []byte) ([]byte, error)
MD5
Sha3
Sha3.Sum224(data []byte) []byte
Sha3.Sum256(data []byte) []byte
Sha3.Sum384(data []byte) []byte
Sha3.Sum512(data []byte) []byte
Sha3.Shake128(data []byte, size int) (hash []byte)
Sha3.Shake256(data []byte, size int) (hash []byte)
block cipher mode