为什么 java.util.Base64 和 org.apache.commons.ssl.Base64 不兼容?

Why are java.util.Base64 and org.apache.commons.ssl.Base64 not compatible with each other?

尝试将 SAML 解码从使用 apache commons 升级到使用内置 Java 8 class。使用 Java 时失败。

有没有办法让 Java 像 apache 一样工作?

谁能解释为什么这些不同?

区别在于各自用于解码的 RFC 规范:RFC 4648 与 RFC 2045。

要将 2045 与 Java 一起使用,请调用 Base64.getMimeDecoder().decode(),而不是 Base64.getDecoder().decode()(使用 4648)。