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