Documentation ¶
Overview ¶
Package crypto provides encryption and hashing utilities.
Index ¶
Examples ¶
Constants ¶
This section is empty.
Variables ¶
View Source
var ( SourceNum = []byte("0123456789") SourceAlphaLower = []byte("abcdefghijklmnopqrstuvwxyz") SourceAlphaUpper = []byte("ABCDEFGHIJKLMNOPQRSTUVWXYZ") SourceAlphaNumLower = []byte("abcdefghijklmnopqrstuvwxyz0123456789") SourceAlphaNumUpper = []byte("ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789") SourceAlpha = []byte("abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ") SourceAlphaNum = []byte("abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789") SourceAll = []byte("abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789!@#$%^&*()-_+=~`[]{}|\\:;\"'<>,.?/") )
Random sources.
Functions ¶
func HashFileMD5 ¶
HashFileMD5 returns the MD5 checksum of a file.
Types ¶
type Encrypter ¶
type Encrypter interface { Encrypt([]byte) ([]byte, error) EncryptBase64([]byte) ([]byte, error) Decrypt([]byte) ([]byte, error) DecryptBase64([]byte) ([]byte, error) HashHS256([]byte) ([]byte, error) }
An Encrypter provides encryption and hashing methods.
func NewEncrypter ¶
NewEncrypter returns a new AES-128 encrypter for secret key. The key must be 32 bytes long.
Example ¶
package main import ( "bytes" "fmt" "github.com/gowww/crypto" ) func main() { data := []byte("data to encrypt") encrypter, _ := crypto.NewEncrypter([]byte("secret-key-secret-key-secret-key")) encData, _ := encrypter.Encrypt(data) data, _ = encrypter.Decrypt(encData) fmt.Println(bytes.Equal(data, encData)) }
Output:
Click to show internal directories.
Click to hide internal directories.