1
1
/*
2
- * Copyright IBM Corp. 2023, 2024
2
+ * Copyright IBM Corp. 2023, 2025
3
3
*
4
4
* This code is free software; you can redistribute it and/or modify it
5
5
* under the terms provided by IBM in the LICENSE file that accompanied
17
17
import java .io .IOException ;
18
18
import java .lang .reflect .Method ;
19
19
import java .nio .ByteBuffer ;
20
+ import java .nio .charset .StandardCharsets ;
20
21
import java .nio .file .Files ;
21
22
import java .nio .file .Paths ;
22
23
import java .security .AlgorithmParameters ;
@@ -82,7 +83,7 @@ public void setUp() throws Exception {
82
83
key = aesKeyGen .generateKey ();
83
84
}
84
85
85
- static String [] plainTextStrArray = {"a" , "ab" , "abc" , "abcd" , "abcde" , "abcdef" , "abcdefg" ,
86
+ String [] plainTextStrArray = {"a" , "ab" , "abc" , "abcd" , "abcde" , "abcdef" , "abcdefg" ,
86
87
"abcdefgh" , "abcdefghi" , "abcdefghi" , "abcdefghij" , "abcdefghijk" , "abcdefghijkl" ,
87
88
"abcdefghijklm" , "abcdefghijklmn" , "abcdefghijklmno" , "abcdefghijklmnop" ,
88
89
"abcdefghijklmnopq" , "abcdefghijklmnopqr" , "abcdefghijklmnopqrs" ,
@@ -93,7 +94,7 @@ public void setUp() throws Exception {
93
94
"abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyza" ,
94
95
"abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa0123456789" };
95
96
96
- static String [] plainTextStrArray1 = {
97
+ String [] plainTextStrArray1 = {
97
98
//"abcdefghijklmnopqrstuvwxyz0123456789012345678901234",
98
99
"abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyza01234" ,
99
100
"abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa012345678901234" };
@@ -182,15 +183,16 @@ public void testCaseWithLongString2() throws Exception {
182
183
byte [] myAAD = "aaaaaaaaa" .getBytes ();
183
184
184
185
GCMParameterSpec ivSpec = new GCMParameterSpec (GCM_TAG_LENGTH * Byte .SIZE , iv );
186
+
185
187
for (int keysizeloop = 1 ; keysizeloop < 3 ; keysizeloop ++) {
186
- String myStr = "" ;
187
- for (int i = 0 ; i < 118999 ;) {
188
- myStr = myStr + "a" ;
188
+ StringBuilder myStr = new StringBuilder ();
189
+ SecretKey key16 = new SecretKeySpec (new byte [16 * keysizeloop ], "AES" ); // key is 16 zero bytes
189
190
190
- byte [] plainTextBytes = myStr .getBytes ("UTF-8" );
191
+ for (int i = 0 ; i < 118999 ;) {
192
+ myStr .append ("a" );
191
193
194
+ byte [] plainTextBytes = myStr .toString ().getBytes (StandardCharsets .UTF_8 );
192
195
193
- SecretKey key16 = new SecretKeySpec (new byte [16 * keysizeloop ], "AES" ); // key is 16 zero bytes
194
196
byte [] encryptedText = dotestWithString (Cipher .ENCRYPT_MODE , key16 , myAAD ,
195
197
plainTextBytes , ivSpec );
196
198
byte [] decryptedText = dotestWithString (Cipher .DECRYPT_MODE , key16 , myAAD ,
@@ -767,14 +769,14 @@ public void testWithMultipleDataUpdate9() throws Exception {
767
769
768
770
GCMParameterSpec ivSpec = new GCMParameterSpec (GCM_TAG_LENGTH * Byte .SIZE , iv );
769
771
for (int keysizeloop = 1 ; keysizeloop < 3 ; keysizeloop ++) {
770
- String myStr = "" ;
772
+ StringBuilder myStr = new StringBuilder () ;
771
773
for (int i = 0 ; i < 250 ; i ++) {
772
- myStr = myStr + "a" ;
774
+ myStr . append ( "a" ) ;
773
775
}
774
776
for (int i = 250 ; i < 118999 ;) {
775
- myStr = myStr + "a" ;
777
+ myStr . append ( "a" ) ;
776
778
int numTimes = 7 ;
777
- byte [] plainTextBytes = myStr .getBytes ("UTF-8" );
779
+ byte [] plainTextBytes = myStr .toString (). getBytes (StandardCharsets . UTF_8 );
778
780
SecretKey key = new SecretKeySpec (new byte [16 * keysizeloop ], "AES" ); // key is 16 zero bytes
779
781
byte [] encryptedText = doTestWithMultipleDataUpdate (Cipher .ENCRYPT_MODE , key , myAAD ,
780
782
plainTextBytes , ivSpec , numTimes );
0 commit comments