- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我想看看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 Codec
、Bouncy CaSTLe等开源实现之一
等
Bouncy CaSTLe
和 Apache Commons
算法的区别在于 Bouncy CaSTLe
将 hash
解释为一系列hexadecimal
值,而 Apache Commons
将相同的 hash
解释为 string
在对其进行 base64 编码之前。在前一种情况下,生成的编码比原始字符串短
,而在后一种情况下,生成的编码比原始字符串长
。
因此,通信组件之间应该使用相同 Base64 编码器。
希望对你有帮助。
关于java - BouncyCaSTLe 和 Apache Commons Codec Base64 编码的区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25261714/
我正在尝试使用 user guide 中的抓取示例运行 geb用于引入依赖项: $ cat my.groovy @Grapes([ @Grab("org.gebish:geb-core:0.9
我阅读了很多关于 opus-codec 的内容,但我不明白如何在我的示例 Java 应用程序中使用它。 是否有任何可用于 opus 的 .so 文件可以使用?如果没有,那么如何? 最佳答案 目前(在撰
我试图构建 Maven 项目, 每当我在命令行上运行“mvn clean install”时,都会出现以下错误: 无法解析项目 com.my_project:jar:0.0.1-SNAPSHOT 的依
我有一个项目需要 Lucene(4.3.0) 并添加以下依赖项:lucene-core,lucene-analyzers-common,lucene-queries,lucene-queryparse
我正在对 Controller 进行单元测试,目前我被服务(由 Controller 调用)中的“encodeAsJSON()”方法调用所困扰。 我得到了 MissingMethodException
无法弄清楚是什么原因导致 ' 名称为“Lucene42”的 org.apache.lucene.codecs.Codec 类型的 SPI 类不存在。您需要将支持此 SPI 的相应 JAR 文件添加到您
我想运行以下命令来使用 MongoDB Java 驱动程序创建用户, client = new MongoClient(mongoClientURI); MongoDatabase d
对于 lucene-core-5.5.2,我在 weblogic 服务器中遇到了问题 a。独立的搜索应用程序可以工作,但是当我部署为 WEB APP 时,它失败并出现以下错误 Exception ty
我的代码: DateTime dateTime = new DateTime(); BasicDBObject oldDoc = new BasicDBObject("email",email); B
我正在尝试在 Hibernate-ogm 中尝试 GridFS。这就是我的课 import org.hibernate.ogm.datastore.mongodb.type.GridFS; @Embe
我正在使用如下聚合: final List aggregations = new ArrayList<>(); Polygon polygon = new Polygon(new Po
我正在处理一个多模块 gradle 项目(12 个模块)。我继承了该项目,需要更新其中使用的一些库的版本。 我无法理解此错误的原因: ... 67 more Caused by: java.l
我正在使用 Java 学习 MongoDB。我正在尝试使用 Java 驱动程序将数据插入 MongoDB。我正在像 MongoDB 教程中一样进行插入,而且一切都很好。但是如果我想插入一个变量,当我运
我正在尝试打开并读取包含大量文本的 .txt 文件。下面是我的代码,我不知道如何解决这个问题。任何帮助将不胜感激。 file = input("Please enter a .txt file: ")
我使用 Arch Linux 和默认的 Python 3。我使用 Konsole 通过命令 pip install django-toolbelt 下载 django-toolbelt。名称: pip
我正在尝试使用 LibAV 解码 mpeg 视频文件。有两个术语我无法正确理解,镜框 和 数据包 . 按照我目前的理解,镜框 是未压缩的视频帧和 数据包是压缩帧。 问题 : 数据包有多个帧,对吗? 一
我正在查看计算机断层扫描 (CT) DICOM 图像。这些最初是未压缩的 DICOM 图像。我有这些 DICOM 图像的无损 J2K 压缩形式:传输语法 = 1.2.840.10008.1.2.4.9
如何安装通用编解码器?我已经下载了,但是我在网上搜索过,找不到这个问题的答案。我想使用 Base64 编码器和解码器。 还有 1 个问题,如果我的代码使用这个编解码器,其他尝试使用我的程序的用户是否也
本文整理了Java中loci.formats.codec.ZlibCodec类的一些代码示例,展示了ZlibCodec类的具体用法。这些代码示例主要来源于Github/Stackoverflow/Ma
本文整理了Java中hivemall.utils.codec.ZigZagLEB128Codec类的一些代码示例,展示了ZigZagLEB128Codec类的具体用法。这些代码示例主要来源于Githu
我是一名优秀的程序员,十分优秀!