I need to encode a short String as base 64 in GWT and decode the base 64 string on the server. Anyone have utility class or library for this?
You can use native JavaScript for this on the client on all browsers except IE ≤ 9. On the server you can use one of the official classes.
Java/GWT:
private static native String b64decode(String a) /*-{
return window.atob(a);
}-*/;
Encode is btoa
.
You can use the BaseEncoding class provided by Guava.
http://docs.guava-libraries.googlecode.com/git/javadoc/com/google/common/io/BaseEncoding.html
For example:
try {
String encoded = BaseEncoding.base64().encode("foo".getBytes("UTF-8"))
} catch (UnsupportedEncodingException e) {
GWT.log(e.getMessage());
}
And don't forget to add the following line to your GWT module XML:
<inherits name="com.google.common.io.Io"/>
The BaseEncoding class can be used on both the GWT client side and server side.
You can have a look at https://github.com/mooreds/gwt-crypto
It provides base64 encoding to GWT.
Base64.encode(string.getBytes());
Add the import below :
import com.googlecode.gwt.crypto.bouncycastle.util.encoders.Base64;
Don't forget to add the following line to your GWT module XML:
<inherits name="com.googlecode.gwt.crypto.Crypto"/>
Maven dependency
<dependency>
<groupId>com.googlecode.gwt-crypto</groupId>
<artifactId>gwt-crypto</artifactId>
<version>2.3.0</version>
</dependency>
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With