Repository: wicket Updated Branches: refs/heads/master 80dc3dea4 -> 6839a8c76
WICKET-6150 Deprecate org.apache.wicket.util.crypt.Base64 and use java.util.Base64 Project: http://git-wip-us.apache.org/repos/asf/wicket/repo Commit: http://git-wip-us.apache.org/repos/asf/wicket/commit/6839a8c7 Tree: http://git-wip-us.apache.org/repos/asf/wicket/tree/6839a8c7 Diff: http://git-wip-us.apache.org/repos/asf/wicket/diff/6839a8c7 Branch: refs/heads/master Commit: 6839a8c76426b3a8621d4cf64b2ca781d0b8b7a8 Parents: 80dc3de Author: Martin Tzvetanov Grigorov <[email protected]> Authored: Thu Apr 21 23:14:21 2016 +0200 Committer: Martin Tzvetanov Grigorov <[email protected]> Committed: Thu Apr 21 23:14:21 2016 +0200 ---------------------------------------------------------------------- .../apache/wicket/core/request/mapper/CryptoMapper.java | 2 +- .../java/org/apache/wicket/util/image/ImageUtil.java | 4 ++-- .../request/CryptedUrlWebRequestCodingStrategyTest.java | 11 ++++++----- .../java/org/apache/wicket/util/crypt/AbstractCrypt.java | 7 ++++--- .../main/java/org/apache/wicket/util/crypt/Base64.java | 5 +++-- 5 files changed, 16 insertions(+), 13 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/wicket/blob/6839a8c7/wicket-core/src/main/java/org/apache/wicket/core/request/mapper/CryptoMapper.java ---------------------------------------------------------------------- diff --git a/wicket-core/src/main/java/org/apache/wicket/core/request/mapper/CryptoMapper.java b/wicket-core/src/main/java/org/apache/wicket/core/request/mapper/CryptoMapper.java index 4f038ec..798e56b 100755 --- a/wicket-core/src/main/java/org/apache/wicket/core/request/mapper/CryptoMapper.java +++ b/wicket-core/src/main/java/org/apache/wicket/core/request/mapper/CryptoMapper.java @@ -45,7 +45,7 @@ import org.slf4j.LoggerFactory; * * <p> * <strong>Important</strong>: for better security it is recommended to use - * {@link org.apache.wicket.core.request.mapper.CryptoMapper#CryptoMapper(org.apache.wicket.request.IRequestMapper, org.apache.wicket.util.Supplier)} + * {@link org.apache.wicket.core.request.mapper.CryptoMapper#CryptoMapper(IRequestMapper, Supplier)} * constructor with {@link org.apache.wicket.util.crypt.ICrypt} implementation that generates a * separate key for each user. {@link org.apache.wicket.core.util.crypt.KeyInSessionSunJceCryptFactory} provides such an * implementation that stores the key in the HTTP session. http://git-wip-us.apache.org/repos/asf/wicket/blob/6839a8c7/wicket-core/src/main/java/org/apache/wicket/util/image/ImageUtil.java ---------------------------------------------------------------------- diff --git a/wicket-core/src/main/java/org/apache/wicket/util/image/ImageUtil.java b/wicket-core/src/main/java/org/apache/wicket/util/image/ImageUtil.java index fca5877..5f88405 100644 --- a/wicket-core/src/main/java/org/apache/wicket/util/image/ImageUtil.java +++ b/wicket-core/src/main/java/org/apache/wicket/util/image/ImageUtil.java @@ -18,9 +18,9 @@ package org.apache.wicket.util.image; import java.io.IOException; import java.io.InputStream; +import java.util.Base64; import org.apache.wicket.request.resource.PackageResourceReference; -import org.apache.wicket.util.crypt.Base64; import org.apache.wicket.util.io.IOUtils; import org.apache.wicket.util.resource.IResourceStream; import org.apache.wicket.util.resource.ResourceStreamNotFoundException; @@ -56,7 +56,7 @@ public class ImageUtil try { byte[] bytes = IOUtils.toByteArray(inputStream); - String base64EncodedImage = Base64.encodeBase64String(bytes); + String base64EncodedImage = Base64.getEncoder().encodeToString(bytes); return "data:" + resourceStream.getContentType() + ";base64," + (removeWhitespaces ? base64EncodedImage.replaceAll("\\s", "") : base64EncodedImage); } http://git-wip-us.apache.org/repos/asf/wicket/blob/6839a8c7/wicket-core/src/test/java/org/apache/wicket/protocol/http/request/CryptedUrlWebRequestCodingStrategyTest.java ---------------------------------------------------------------------- diff --git a/wicket-core/src/test/java/org/apache/wicket/protocol/http/request/CryptedUrlWebRequestCodingStrategyTest.java b/wicket-core/src/test/java/org/apache/wicket/protocol/http/request/CryptedUrlWebRequestCodingStrategyTest.java index c2e6ced..98e1bf4 100644 --- a/wicket-core/src/test/java/org/apache/wicket/protocol/http/request/CryptedUrlWebRequestCodingStrategyTest.java +++ b/wicket-core/src/test/java/org/apache/wicket/protocol/http/request/CryptedUrlWebRequestCodingStrategyTest.java @@ -16,13 +16,14 @@ */ package org.apache.wicket.protocol.http.request; +import java.util.Base64; + +import org.apache.wicket.core.request.mapper.CryptoMapper; import org.apache.wicket.markup.html.WebPage; import org.apache.wicket.markup.html.basic.SimplePage; import org.apache.wicket.mock.MockApplication; import org.apache.wicket.protocol.http.WebApplication; import org.apache.wicket.request.mapper.CompoundRequestMapper; -import org.apache.wicket.core.request.mapper.CryptoMapper; -import org.apache.wicket.util.crypt.Base64; import org.apache.wicket.util.crypt.ICrypt; import org.apache.wicket.util.crypt.ICryptFactory; import org.apache.wicket.util.tester.WicketTestCase; @@ -110,13 +111,13 @@ public class CryptedUrlWebRequestCodingStrategyTest extends WicketTestCase @Override public String decryptUrlSafe(String text) { - return new String(new Base64(true).decode(text)); + return new String(Base64.getUrlDecoder().decode(text)); } @Override public String encryptUrlSafe(String plainText) { - return new String(new Base64(true).encode(plainText.getBytes())); + return new String(Base64.getUrlEncoder().encode(plainText.getBytes())); } @Override @@ -128,4 +129,4 @@ public class CryptedUrlWebRequestCodingStrategyTest extends WicketTestCase } } -} \ No newline at end of file +} http://git-wip-us.apache.org/repos/asf/wicket/blob/6839a8c7/wicket-util/src/main/java/org/apache/wicket/util/crypt/AbstractCrypt.java ---------------------------------------------------------------------- diff --git a/wicket-util/src/main/java/org/apache/wicket/util/crypt/AbstractCrypt.java b/wicket-util/src/main/java/org/apache/wicket/util/crypt/AbstractCrypt.java index 9daa2dd..da8155e 100644 --- a/wicket-util/src/main/java/org/apache/wicket/util/crypt/AbstractCrypt.java +++ b/wicket-util/src/main/java/org/apache/wicket/util/crypt/AbstractCrypt.java @@ -18,6 +18,7 @@ package org.apache.wicket.util.crypt; import java.io.UnsupportedEncodingException; import java.security.GeneralSecurityException; +import java.util.Base64; import java.util.UUID; import javax.crypto.Cipher; @@ -62,7 +63,7 @@ public abstract class AbstractCrypt implements ICrypt { try { - byte[] decoded = new Base64(true).decode(text); + byte[] decoded = java.util.Base64.getUrlDecoder().decode(text); return new String(decryptByteArray(decoded), CHARACTER_ENCODING); } catch (Exception ex) @@ -85,8 +86,8 @@ public abstract class AbstractCrypt implements ICrypt try { byte[] encrypted = encryptStringToByteArray(plainText); - Base64 base64 = new Base64(-1, null, true); - byte[] encoded = base64.encode(encrypted); + Base64.Encoder encoder = Base64.getUrlEncoder().withoutPadding(); + byte[] encoded = encoder.encode(encrypted); return new String(encoded, CHARACTER_ENCODING); } catch (GeneralSecurityException e) http://git-wip-us.apache.org/repos/asf/wicket/blob/6839a8c7/wicket-util/src/main/java/org/apache/wicket/util/crypt/Base64.java ---------------------------------------------------------------------- diff --git a/wicket-util/src/main/java/org/apache/wicket/util/crypt/Base64.java b/wicket-util/src/main/java/org/apache/wicket/util/crypt/Base64.java index cf5cbb0..a36bb4a 100644 --- a/wicket-util/src/main/java/org/apache/wicket/util/crypt/Base64.java +++ b/wicket-util/src/main/java/org/apache/wicket/util/crypt/Base64.java @@ -38,8 +38,9 @@ import java.math.BigInteger; * @author Juergen Donnerstag * * @since 1.2 + * @deprecated Use {@link java.util.Base64} instead. */ -// TODO Wicket 8: consider to deprecate this class in Wicket 7 and replace it with standard Java 8 {@code java.util.Base64} +@Deprecated public class Base64 { private static final int DEFAULT_BUFFER_RESIZE_FACTOR = 2; @@ -881,7 +882,7 @@ public class Base64 { throw new IllegalArgumentException( "Input array too big, the output array would be bigger (" + len + - ") than the specified maxium size of " + maxResultSize); + ") than the specified maximum size of " + maxResultSize); } Base64 b64 = isChunked ? new Base64(urlSafe) : new Base64(0, CHUNK_SEPARATOR, urlSafe);
