public static String digestLiteral(String raw) {
		byte[] md5 = DIGEST.digest(raw.getBytes());

		// the following code is copy from
		// org.apache.commons.codec.digest.DigestUtils
		// with some clean up(remove unnecessary dependency)
		char[] out = new char[md5.length << 1];
		// two characters form the hex value.
		for (int i = 0, j = 0; i < md5.length; i++) {
			out[j++] = MAP[(0xF0 & md5[i]) >>> 4];
			out[j++] = MAP[0x0F & md5[i]];
		}

		return new String(out);
	}