Documentation ¶
Index ¶
- Variables
- func AesCBCDecrypt(cipherText, key, iv []byte) (plainText []byte, err error)
- func AesCBCEncrypt(plainText, key, iv []byte) (cipherText []byte, err error)
- func AesCTRDecryptFile(origin, target string, key, iv []byte) (err error)
- func AesCTRDecryptFileIO(origin, target *os.File, key, iv []byte) (err error)
- func AesCTREncryptFile(origin, target string, key, iv []byte) (err error)
- func AesCTREncryptFileIO(origin, target *os.File, key, iv []byte) (err error)
- func CBCBlockMode(key, iv []byte, encrypt bool) (cipher.BlockMode, error)
- func CTRStream(key, iv []byte) (cipher.Stream, error)
- func PKCS5Padding(plainText []byte, blockSize int) []byte
- func PKCS5UnPadding(plainText []byte) ([]byte, error)
Examples ¶
Constants ¶
This section is empty.
Variables ¶
var ( // ErrUnknown for undefined error ErrUnknown = errors.New("unknown error") // ErrCipherKey wrong key ErrCipherKey = errors.New("the secret key is wrong and cannot be decrypted. Please check") // ErrAESKeyLength wrong key length ErrAESKeyLength = errors.New("16 or 24 or 32 length secret key is required") // ErrPaddingSize padding size error ErrPaddingSize = errors.New("padding size error please check the secret key or iv") // ErrIvAes iv length error ErrIvAes = errors.New("a 16-length iv is required") )
Functions ¶
func AesCBCDecrypt ¶
AesCBCDecrypt decrypt data use AES/CBC/PKCS5
key: 16 or 24 or 32 length secret key is required
iv : 16 length iv is required
Example ¶
enc, _ := AesCBCEncrypt([]byte("hello"), []byte("1234567812345678"), []byte("1234567812345678")) dec, err := AesCBCDecrypt(enc, []byte("1234567812345678"), []byte("1234567812345678")) if err != nil { panic(err) } fmt.Printf("%s", dec)
Output:
func AesCBCEncrypt ¶
AesCBCEncrypt encrypt data use AES/CBC/PKCS5
key: 16 or 24 or 32 length secret key is required
iv : 16 length iv is required
Example ¶
enc, err := AesCBCEncrypt([]byte("hello"), []byte("1234567812345678"), []byte("1234567812345678")) if err != nil { panic(err) } fmt.Printf("%x", enc) fmt.Printf("%s", hex.EncodeToString(enc))
Output:
func AesCTRDecryptFile ¶
AesCTRDecryptFile decrypt file use AES/CTR
key: 16 or 24 or 32 length secret key is required
iv : 16 length iv is required
Example ¶
err := AesCTRDecryptFile("originFilename", "targetFilename", _testKey.Length32[4], _testIv[1]) if err != nil { panic(err) }
Output:
func AesCTRDecryptFileIO ¶
AesCTRDecryptFileIO decrypt file use AES/CTR
key: 16 or 24 or 32 length secret key is required
iv : 16 length iv is required
Example ¶
inFile, _ := os.Open("originFilename") outFile, _ := os.Create("targetFilename") err := AesCTRDecryptFileIO(inFile, outFile, _testKey.Length32[4], _testIv[1]) if err != nil { panic(err) }
Output:
func AesCTREncryptFile ¶
AesCTREncryptFile encrypt file use AES/CTR
key: 16 or 24 or 32 length secret key is required
iv : 16 length iv is required
Example ¶
err := AesCTREncryptFile("originFilename", "targetFilename", _testKey.Length32[4], _testIv[1]) if err != nil { panic(err) }
Output:
func AesCTREncryptFileIO ¶
AesCTREncryptFileIO encrypt file use AES/CTR
key: 16 or 24 or 32 length secret key is required
iv : 16 length iv is required
Example ¶
inFile, _ := os.Open("originFilename") outFile, _ := os.Create("targetFilename") err := AesCTREncryptFileIO(inFile, outFile, _testKey.Length32[4], _testIv[1]) if err != nil { panic(err) }
Output:
func CBCBlockMode ¶
CBCBlockMode create a CBC cipher.BlockMode use key and iv
key: 16 or 24 or 32 length secret key is required
iv : 16 length iv is required
encrypt: if true return a encrypt cipher.BlockMode. else return a decrypt cipher.BlockMode
Types ¶
This section is empty.