gpt4 book ai didi

java - BouncyCaSTLe 和 Apache Commons Codec Base64 编码的区别

转载 作者:行者123 更新时间:2023-11-30 08:21:23 24 4
gpt4 key购买 nike

我想看看BouncyCaSTLe提供的Base64编码机制和Apache Commons Codec提供的等效机制是否完全兼容,或者是否存在兼容性问题。

我正在开发一个 Java 库,它对某些输入和输出使用 Base64 编码(它必须对某些输入进行编码,并对某些输出进行编码)。该库使用 Bouncy CaSTLe 的 Base64 编码器。

将使用该库的其中一个应用程序将使用 Apache commons 的 Base64 编码器在其端执行编码和解码。

我相信 Apache 的实现遵循 RTC 标准,但是 Bouncy CaSTLe 的实现不遵循这个标准,尽管它在很大程度上遵循相同的标准。这些组件之间是否存在兼容性问题?

只在需要相互通信的组件中使用相同的 Base64 编码器是否明智?

最佳答案

Would it be wise to only use the same Base64 encoder in components that need to communicate with each other?

简而言之:,两个通信组件中的 Base64 应该相同

解释:

Base64内容传输编码是一种描述任意8-bit字节序列组合的形式,这种形式不容易被直接识别。该算法主要是给出字符对字符编码(如ASCII码、UTF-8码)对应的十进制数作为引用,进行编码运算。

由于Sun本身不提供Base64算法实现,用户只能使用Commons CodecBouncy CaSTLe等开源实现之一

Bouncy CaSTLeApache Commons 算法的区别在于 Bouncy CaSTLehash 解释为一系列hexadecimal 值,而 Apache Commons 将相同的 hash 解释为 string 在对其进行 base64 编码之前。在前一种情况下,生成的编码比原始字符串,而在后一种情况下,生成的编码比原始字符串

因此,通信组件之间应该使用相同 Base64 编码器。

希望对你有帮助。

关于java - BouncyCaSTLe 和 Apache Commons Codec Base64 编码的区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25261714/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com