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;

}

它返回的字符集很小,甚至与预期的结果都不相似。有任何想法吗?

回答:

通过使用Base64Apache 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

回到顶部