Java中的base64url
https://web.archive.org/web/20110422225659/https://en.wikipedia.org/wiki/Base64#URL_applications
谈论base64Url-解码
存在针对URL变体的经过修改的Base64,其中将不使用填充符’=’,而标准Base64的’+’和’/’字符分别被替换为’-‘和’_’
我创建了以下函数:
public static String base64UrlDecode(String input) { String result = null;
BASE64Decoder decoder = new BASE64Decoder();
try {
result = decoder.decodeBuffer(input.replace('-','+').replace('/','_')).toString();
}
catch (IOException e) {
System.out.println(e.getMessage());
}
return result;
}
它返回的字符集很小,甚至与预期的结果都不相似。有任何想法吗?
回答:
通过使用Base64
Apache Commons 的用法(可以将其配置为URL安全),我创建了以下函数:
import org.apache.commons.codec.binary.Base64;public static String base64UrlDecode(String input) {
String result = null;
Base64 decoder = new Base64(true);
byte[] decodedBytes = decoder.decode(input);
result = new String(decodedBytes);
return result;
}
构造函数Base64(true)
使解码URL安全。
以上是 Java中的base64url 的全部内容, 来源链接: utcz.com/qa/430605.html