55import com .genexus .gam .utils .Random ;
66import org .bouncycastle .util .encoders .Base64 ;
77import org .bouncycastle .util .encoders .Hex ;
8- import org .bouncycastle .util .encoders .UrlBase64 ;
98import org .junit .Assert ;
109import org .junit .Test ;
1110
1211import java .nio .charset .StandardCharsets ;
12+ import java .text .MessageFormat ;
1313
1414public class EncodingTest {
1515
@@ -26,14 +26,23 @@ public void testB64ToB64Url() {
2626
2727 private static String b64UrlToUtf8 (String base64Url ) {
2828 try {
29- byte [] bytes = UrlBase64 .decode (base64Url );
30- return new String (bytes , StandardCharsets .UTF_8 ).replaceAll ("[\ufffd ]" , "" );
29+ return new String (java .util .Base64 .getUrlDecoder ().decode (base64Url ), StandardCharsets .ISO_8859_1 );
3130 } catch (Exception e ) {
3231 e .printStackTrace ();
3332 return "" ;
3433 }
3534 }
3635
36+ @ Test
37+ public void testBase64Url () {
38+ String [] utf8 = new String []{"GQTuYnnS9AbcKXndwxiZbxk4Q60nhuEd" , "rf7tZx8aWO28YOKLISDWY33HuarNHkIZ" , "sF7Ic0iuZxE50nz3W5Jnj7R0nQlRD0b1" , "GGKmW2ubkhnA9ASaVlVAKM6FQdPCQ1pj" , "LMW0GSCVyeGiGzf84eIwuX6OHAfur9fp" , "zq9Kni7W1r0UIzG9hjYeiqJhSYlWVZSa" , "WcyhGLQNyQkP2YmOjVtIilpqcHgYCzjq" , "DuhO4PBiXRDDj50RBRo8wNUU8R3UXbp0" , "pkPfYXOyoLUsEwm4HjjDB6E2c3aUjYNh" , "fgbrZoKKMym9HN5zlKj0a8ohgQlJm3PM" , "owGXQ7p6BeFeK1KFVOsdbSRd0sMwgFRU" };
39+ String [] b64 = new String []{"R1FUdVlublM5QWJjS1huZHd4aVpieGs0UTYwbmh1RWQ" , "cmY3dFp4OGFXTzI4WU9LTElTRFdZMzNIdWFyTkhrSVo" , "c0Y3SWMwaXVaeEU1MG56M1c1Sm5qN1IwblFsUkQwYjE" , "R0dLbVcydWJraG5BOUFTYVZsVkFLTTZGUWRQQ1ExcGo" , "TE1XMEdTQ1Z5ZUdpR3pmODRlSXd1WDZPSEFmdXI5ZnA" , "enE5S25pN1cxcjBVSXpHOWhqWWVpcUpoU1lsV1ZaU2E" , "V2N5aEdMUU55UWtQMlltT2pWdElpbHBxY0hnWUN6anE" , "RHVoTzRQQmlYUkREajUwUkJSbzh3TlVVOFIzVVhicDA" , "cGtQZllYT3lvTFVzRXdtNEhqakRCNkUyYzNhVWpZTmg" , "ZmdiclpvS0tNeW05SE41emxLajBhOG9oZ1FsSm0zUE0" , "b3dHWFE3cDZCZUZlSzFLRlZPc2RiU1JkMHNNd2dGUlU" };
40+ for (int i = 0 ; i < utf8 .length ; i ++) {
41+ Assert .assertEquals (MessageFormat .format ("testBase64Url toBase64Url fail index: {0}" , i ), b64 [i ], Encoding .toBase64Url (utf8 [i ]));
42+ Assert .assertEquals (MessageFormat .format ("testBase64Url fromBase64Url fail index: {0}" , i ), utf8 [i ], Encoding .fromBase64Url (b64 [i ]));
43+ }
44+ }
45+
3746 @ Test
3847 public void testToBase64Url () {
3948 int i = 0 ;
0 commit comments