mirror of
https://github.com/fumiama/aes-rsa-tcp-demo.git
synced 2026-06-28 07:50:26 +08:00
init
This commit is contained in:
60
utils/aes_test.go
Normal file
60
utils/aes_test.go
Normal file
@@ -0,0 +1,60 @@
|
||||
package utils
|
||||
|
||||
import (
|
||||
"bytes"
|
||||
"crypto/aes"
|
||||
"crypto/rand"
|
||||
"encoding/hex"
|
||||
"testing"
|
||||
)
|
||||
|
||||
func TestAES(t *testing.T) {
|
||||
var buf [32]byte
|
||||
var data [123]byte
|
||||
_, err := rand.Read(buf[:])
|
||||
if err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
_, err = rand.Read(data[:])
|
||||
if err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
aescipher, err := aes.NewCipher(buf[:])
|
||||
if err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
encdat := EncryptAES(aescipher, data[:])
|
||||
decdat := DecryptAES(aescipher, encdat)[:123]
|
||||
if !bytes.Equal(data[:], decdat) {
|
||||
t.Fatal("expected " + hex.EncodeToString(data[:]) + " but got " + hex.EncodeToString(decdat))
|
||||
}
|
||||
}
|
||||
|
||||
func TestAESInplace(t *testing.T) {
|
||||
var buf [32]byte
|
||||
var data [128]byte
|
||||
_, err := rand.Read(buf[:])
|
||||
if err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
_, err = rand.Read(data[:])
|
||||
if err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
aescipher, err := aes.NewCipher(buf[:])
|
||||
if err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
org := data
|
||||
err = EncryptAESInplace(aescipher, data[:])
|
||||
if err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
err = DecryptAESInplace(aescipher, data[:])
|
||||
if err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
if !bytes.Equal(data[:], org[:]) {
|
||||
t.Fatal("expected " + hex.EncodeToString(org[:]) + " but got " + hex.EncodeToString(data[:]))
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user