Skip to content

Commit

Permalink
Added Base64 and Hexadecimal data format conversion utils.
Browse files Browse the repository at this point in the history
  • Loading branch information
nmihajlovski committed Apr 25, 2016
1 parent 4ae0392 commit 3ea203f
Show file tree
Hide file tree
Showing 2 changed files with 19 additions and 3 deletions.
17 changes: 17 additions & 0 deletions rapidoid-commons/src/main/java/org/rapidoid/commons/Str.java
Expand Up @@ -6,6 +6,7 @@
import org.rapidoid.lambda.Mapper;
import org.rapidoid.u.U;

import javax.xml.bind.DatatypeConverter;
import java.util.Iterator;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
Expand Down Expand Up @@ -224,4 +225,20 @@ public static String camelToSnake(String s) {
return U.join("_", Str.camelSplit(s)).toLowerCase();
}

public static String toHex(byte[] data) {
return DatatypeConverter.printHexBinary(data);
}

public static byte[] fromHex(String hex) {
return DatatypeConverter.parseHexBinary(hex);
}

public static String toBase64(byte[] data) {
return DatatypeConverter.printHexBinary(data);
}

public static byte[] fromBase64(String base64) {
return DatatypeConverter.parseBase64Binary(base64);
}

}
Expand Up @@ -18,7 +18,6 @@
import org.rapidoid.util.ErrCodeAndMsg;
import org.rapidoid.util.Msc;

import javax.xml.bind.DatatypeConverter;
import java.io.ByteArrayOutputStream;
import java.io.File;
import java.io.Serializable;
Expand Down Expand Up @@ -72,7 +71,7 @@ public static Map<String, Serializable> initAndDeserializeCookiePack(Req req) {
String cookiepack = req.cookie(COOKIEPACK_COOKIE, null);

if (!U.isEmpty(cookiepack)) {
byte[] decoded = DatatypeConverter.parseBase64Binary(cookiepack.replace('$', '+'));
byte[] decoded = Str.fromBase64(cookiepack.replace('$', '+'));
byte[] cookiepackDecrypted = Crypto.decrypt(decoded);
return (Map<String, Serializable>) Serialize.deserialize(cookiepackDecrypted);
} else {
Expand All @@ -86,7 +85,7 @@ public static void saveCookipackBeforeRenderingHeaders(Req req, Map<String, Seri
if (!cookiepack.isEmpty()) {
byte[] cookiepackBytes = serializeCookiepack(cookiepack);
byte[] cookiepackEncrypted = Crypto.encrypt(cookiepackBytes);
cookie = DatatypeConverter.printBase64Binary(cookiepackEncrypted).replace('+', '$');
cookie = Str.toBase64(cookiepackEncrypted).replace('+', '$');
} else {
cookie = "";
}
Expand Down

0 comments on commit 3ea203f

Please sign in to comment.