Files
EdgeNode/internal/utils/encrypt/method_aes_128_cfb_test.go

91 lines
1.6 KiB
Go
Raw Normal View History

2024-05-11 09:23:54 +08:00
package encrypt_test
2020-09-09 18:53:53 +08:00
import (
2024-05-11 09:23:54 +08:00
"github.com/TeaOSLab/EdgeNode/internal/utils/encrypt"
2020-09-09 18:53:53 +08:00
"runtime"
"strings"
"testing"
)
func TestAES128CFBMethod_Encrypt(t *testing.T) {
2024-05-11 09:23:54 +08:00
method, err := encrypt.NewMethodInstance("aes-128-cfb", "abc", "123")
2020-09-09 18:53:53 +08:00
if err != nil {
t.Fatal(err)
}
2024-05-11 09:23:54 +08:00
var src = []byte("Hello, World")
2020-09-09 18:53:53 +08:00
dst, err := method.Encrypt(src)
if err != nil {
t.Fatal(err)
}
dst = dst[:len(src)]
t.Log("dst:", string(dst))
src, err = method.Decrypt(dst)
if err != nil {
t.Fatal(err)
}
t.Log("src:", string(src))
}
func TestAES128CFBMethod_Encrypt2(t *testing.T) {
2024-05-11 09:23:54 +08:00
method, err := encrypt.NewMethodInstance("aes-128-cfb", "abc", "123")
2020-09-09 18:53:53 +08:00
if err != nil {
t.Fatal(err)
}
2024-05-11 09:23:54 +08:00
var sources = [][]byte{}
2020-09-09 18:53:53 +08:00
{
a := []byte{1}
_, err = method.Encrypt(a)
if err != nil {
t.Fatal(err)
}
}
for i := 0; i < 10; i++ {
src := []byte(strings.Repeat("Hello", 1))
dst, err := method.Encrypt(src)
if err != nil {
t.Fatal(err)
}
sources = append(sources, dst)
}
{
a := []byte{1}
_, err = method.Decrypt(a)
if err != nil {
t.Fatal(err)
}
}
for _, dst := range sources {
dst2 := append([]byte{}, dst...)
src2, err := method.Decrypt(dst2)
if err != nil {
t.Fatal(err)
}
t.Log(string(src2))
}
}
func BenchmarkAES128CFBMethod_Encrypt(b *testing.B) {
runtime.GOMAXPROCS(1)
2024-05-11 09:23:54 +08:00
method, err := encrypt.NewMethodInstance("aes-128-cfb", "abc", "123")
2020-09-09 18:53:53 +08:00
if err != nil {
b.Fatal(err)
}
2024-05-11 09:23:54 +08:00
var src = []byte(strings.Repeat("Hello", 1024))
2020-09-09 18:53:53 +08:00
for i := 0; i < b.N; i++ {
dst, err := method.Encrypt(src)
if err != nil {
b.Fatal(err)
}
_ = dst
}
}