1+ package openssl
2+
3+ import (
4+ "crypto/aes"
5+ "testing"
6+ "github.com/stretchr/testify/assert"
7+ )
8+
9+ func TestECBEncryptAndDecrypt (t * testing.T ) {
10+ key := []byte ("12345678901234567890123456789012" ) // 32 bytes for AES-256
11+ block , err := aes .NewCipher (key )
12+ assert .NoError (t , err )
13+
14+ src := []byte ("test data" )
15+
16+ // Test encryption
17+ encrypted , err := ECBEncrypt (block , src , PKCS7_PADDING )
18+ assert .NoError (t , err )
19+ assert .NotEmpty (t , encrypted )
20+
21+ // Test decryption
22+ decrypted , err := ECBDecrypt (block , encrypted , PKCS7_PADDING )
23+ assert .NoError (t , err )
24+ assert .Equal (t , src , decrypted )
25+ }
26+
27+ func TestECBEncrypterCryptBlocks (t * testing.T ) {
28+ key := []byte ("1234567890123456" ) // 16 bytes for AES-128
29+ block , err := aes .NewCipher (key )
30+ assert .NoError (t , err )
31+
32+ encrypter := NewECBEncrypter (block )
33+ src := make ([]byte , encrypter .BlockSize ()* 2 )
34+ dst := make ([]byte , len (src ))
35+
36+ encrypter .CryptBlocks (dst , src )
37+ assert .Equal (t , len (src ), len (dst ))
38+ }
39+
40+ func TestECBDecrypterCryptBlocks (t * testing.T ) {
41+ key := []byte ("1234567890123456" ) // 16 bytes for AES-128
42+ block , err := aes .NewCipher (key )
43+ assert .NoError (t , err )
44+
45+ decrypter := NewECBDecrypter (block )
46+ src := make ([]byte , decrypter .BlockSize ()* 2 )
47+ dst := make ([]byte , len (src ))
48+
49+ decrypter .CryptBlocks (dst , src )
50+ assert .Equal (t , len (src ), len (dst ))
51+ }
0 commit comments