1
0
mirror of https://github.com/fumiama/aes-rsa-tcp-demo.git synced 2026-06-05 01:20:24 +08:00
Files
aes-rsa-tcp-demo/utils/aes_test.go
源文雨 f79b275f42 init
2023-12-29 16:29:41 +09:00

61 lines
1.2 KiB
Go

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[:]))
}
}