`
shx
  • 浏览: 30892 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Sun BASE64Decoder 与jce cipher的问题

阅读更多
以前发在公司内网的文章,发出来共享,隐去具体项目、人员的名字。

在某项目中发现Sun 的BASE64Decoder 与某些cipher实现存在问题。
1.BASE64Decoder
这个没有java doc,属于jdk里不推荐使用的工具类,使用过程中发现,在非常偶然的情况下,解出的字节数组会少两个字节,粗略估计出错概率<万分之一

2.jce中的3des cipher 解密功能
多线程情况下,会出现无法解出或者解出的结果部分错误,怀疑非线程安全。出错概率万分之一左右,没有验证jce中其他算法是否也这样。

解决方案:
1.使用apache common中的Base64替换
2.将cipher由类变量改成局部变量,避免多线程的问题,当然性能会稍差。尝试换了Bouncy Castle提供的jce实现问题依旧,或许jce框架约定就是这样的,有时间仔细看看jce规范。
分享到:
评论

相关推荐

    sun.misc.BASE64Decoder(Android Base64Jar包以及Java源代码)

    sun.misc.BASE64Decoder 其中包括 Android Base64Jar包 以及Java源代码 sun.misc.BASE64Decoder 其中包括 Android Base64Jar包 以及Java源代码 sun.misc.BASE64Decoder 其中包括 Android Base64Jar包 以及...

    sun.misc.base64decoder.jar下载

    在MyEclipse中编写Java代码时,用到了BASE64Decoder,import sun.misc.BASE64Decoder;可是Eclipse提示:  Access restriction: The type BASE64Decoder is not accessible due to restriction on required library...

    sun.misc.BASE64Decoder

    `java.util.Base64.Decoder`接口提供了与`sun.misc.BASE64Decoder`类似的功能,可以用来解码Base64编码的字符串。例如,使用`java.util.Base64.Decoder`的解码方法如下: ```java import java.util.Base64; public...

    sun.misc.BASE64Decoder和sun.misc.BASE64Encoder不可用已解决

    最近项目实验发现导入工具程序后项目有错,查看发现sun.misc.BASE64Decoder和sun.misc.BASE64Encoder不可用,找不到相应的类。 二、原因分析 冲浪后发现JDK中的lib\tools.jar和JRE中的lib\rt.jar已从Java SE 9中...

    sun.misc.BASE64Decoder; import sun.misc.BASE64Encoder;

    标题 "sun.misc.BASE64Decoder; import sun.misc.BASE64Encoder;" 暗示了我们正在讨论Java中用于Base64编码和解码的类。这两个类,`BASE64Decoder`和`BASE64Encoder`,是Java早期版本中的非标准组件,属于`sun.misc`...

    sun.misc.BASE64Decoder.zip

    《深入解析Java 7中的sun.misc.BASE64Decoder》 在Java编程中,`sun.misc.BASE64Decoder`是Java 7版本中一个用于解码Base64编码的数据的类。Base64是一种广泛使用的编码方式,它将任意二进制数据转换为可打印的...

    java开发 sun.misc.BASE64Decoder.jar包下载

    java开发 sun.misc.BASE64Decoder.jar包下载 java开发 sun.misc.BASE64Decoder.jar包下载

    sun.misc.BASE64Decoder.jar最新

    sun.misc.BASE64Decoder.jar sun.misc.BASE64Decoder.jar sun.misc.BASE64Decoder.jar sun.misc.BASE64Decoder.jar

    BASE64Decoder jar包

    BASE64Decoder是一个Java类,属于Sun Microsystems的`sun.misc`包,用于解码使用BASE64编码的数据。BASE64是一种广泛使用的编码方法,它将任意二进制数据转换为可打印的ASCII字符,通常在电子邮件、XML文档以及网络...

    RSA加密JAVA实现+sun.misc.BASE64Decoder.jar

    这个Java实现的示例提供了RSA加密和解密的功能,并且结合了`sun.misc.BASE64Decoder.jar`来处理Base64编码,使得加密后的密文能够以可读的形式存储和传输。 首先,RSA的核心原理基于大数因子分解的困难性。每个RSA...

    sun的BASE64Decoder

    【标题】"sun的BASE64Decoder"是一个与编码解码相关的工具,源自sun公司,主要用于处理BASE64编码的数据。BASE64是一种常见的数据编码方式,尤其在互联网通信、文件传输以及电子邮件中广泛使用。它将二进制数据转换...

    BASE64Decoder包

    BASE64Decoder包 加密代码: 加密前字符串:String key="mykey"; byte[] bt = key.getBytes(); 加密后字符串:String newKey=(new BASE64Encoder()).encodeBuffer(bt); 解密代码: 加密后的字符串:String newkey=...

    sun.misc.BASE64Decoder.jar

    如名,就是java 的sun.misc.BASE64Decoder.jar 包。 其实是已经过时的东西,因为java8推出了新的库来替代它,且android也有内置的base64相关的工具库。 但是,总有一些工程是要用老库的,也没办法(懒或者烦)更新...

    sun.misc.BASE64Decoder.jar 绿色官方版

    《深入理解sun.misc.BASE64Decoder.jar:一个基础的Base64解码工具》 在IT行业中,数据编码和解码是日常开发中不可或缺的一部分,其中Base64编码是一种广泛应用于网络传输和存储中的编码方式。它将二进制数据转化...

    base64_sun.misc.BASE64Decoder.zip

    这个压缩包文件"base64_sun.misc.BASE64Decoder.zip"包含了与Base64解码相关的资源,特别是`sun.misc.BASE64Decoder.jar`,这是一个Java类库,提供了对Base64编码数据进行解码的功能。 Base64编码源于电子邮件系统...

    BASE64Encoder 与 BASE64Decoder 源代码

    与`BASE64Encoder`相对应,`BASE64Decoder`位于相同的包中,用于将BASE64编码的字符串解码回原始字节数组。其核心方法是`decode()`,该方法接受一个BASE64格式的字符串,并返回解码后的字节数组。解码过程中,会根据...

Global site tag (gtag.js) - Google Analytics