11/*
2- * Copyright IBM Corp. 2023, 2024
2+ * Copyright IBM Corp. 2023, 2025
33 *
44 * This code is free software; you can redistribute it and/or modify it
55 * under the terms provided by IBM in the LICENSE file that accompanied
1717import java .io .IOException ;
1818import java .lang .reflect .Method ;
1919import java .nio .ByteBuffer ;
20+ import java .nio .charset .StandardCharsets ;
2021import java .nio .file .Files ;
2122import java .nio .file .Paths ;
2223import java .security .AlgorithmParameters ;
@@ -82,7 +83,7 @@ public void setUp() throws Exception {
8283 key = aesKeyGen .generateKey ();
8384 }
8485
85- static String [] plainTextStrArray = {"a" , "ab" , "abc" , "abcd" , "abcde" , "abcdef" , "abcdefg" ,
86+ String [] plainTextStrArray = {"a" , "ab" , "abc" , "abcd" , "abcde" , "abcdef" , "abcdefg" ,
8687 "abcdefgh" , "abcdefghi" , "abcdefghi" , "abcdefghij" , "abcdefghijk" , "abcdefghijkl" ,
8788 "abcdefghijklm" , "abcdefghijklmn" , "abcdefghijklmno" , "abcdefghijklmnop" ,
8889 "abcdefghijklmnopq" , "abcdefghijklmnopqr" , "abcdefghijklmnopqrs" ,
@@ -93,7 +94,7 @@ public void setUp() throws Exception {
9394 "abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyza" ,
9495 "abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa0123456789" };
9596
96- static String [] plainTextStrArray1 = {
97+ String [] plainTextStrArray1 = {
9798 //"abcdefghijklmnopqrstuvwxyz0123456789012345678901234",
9899 "abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyza01234" ,
99100 "abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa012345678901234" };
@@ -182,15 +183,16 @@ public void testCaseWithLongString2() throws Exception {
182183 byte [] myAAD = "aaaaaaaaa" .getBytes ();
183184
184185 GCMParameterSpec ivSpec = new GCMParameterSpec (GCM_TAG_LENGTH * Byte .SIZE , iv );
186+
185187 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
189190
190- byte [] plainTextBytes = myStr .getBytes ("UTF-8" );
191+ for (int i = 0 ; i < 118999 ;) {
192+ myStr .append ("a" );
191193
194+ byte [] plainTextBytes = myStr .toString ().getBytes (StandardCharsets .UTF_8 );
192195
193- SecretKey key16 = new SecretKeySpec (new byte [16 * keysizeloop ], "AES" ); // key is 16 zero bytes
194196 byte [] encryptedText = dotestWithString (Cipher .ENCRYPT_MODE , key16 , myAAD ,
195197 plainTextBytes , ivSpec );
196198 byte [] decryptedText = dotestWithString (Cipher .DECRYPT_MODE , key16 , myAAD ,
@@ -767,14 +769,14 @@ public void testWithMultipleDataUpdate9() throws Exception {
767769
768770 GCMParameterSpec ivSpec = new GCMParameterSpec (GCM_TAG_LENGTH * Byte .SIZE , iv );
769771 for (int keysizeloop = 1 ; keysizeloop < 3 ; keysizeloop ++) {
770- String myStr = "" ;
772+ StringBuilder myStr = new StringBuilder () ;
771773 for (int i = 0 ; i < 250 ; i ++) {
772- myStr = myStr + "a" ;
774+ myStr . append ( "a" ) ;
773775 }
774776 for (int i = 250 ; i < 118999 ;) {
775- myStr = myStr + "a" ;
777+ myStr . append ( "a" ) ;
776778 int numTimes = 7 ;
777- byte [] plainTextBytes = myStr .getBytes ("UTF-8" );
779+ byte [] plainTextBytes = myStr .toString (). getBytes (StandardCharsets . UTF_8 );
778780 SecretKey key = new SecretKeySpec (new byte [16 * keysizeloop ], "AES" ); // key is 16 zero bytes
779781 byte [] encryptedText = doTestWithMultipleDataUpdate (Cipher .ENCRYPT_MODE , key , myAAD ,
780782 plainTextBytes , ivSpec , numTimes );
0 commit comments