`
windforce
  • 浏览: 80257 次
  • 性别: Icon_minigender_1
  • 来自: 广州
文章分类
社区版块
存档分类
最新评论

IBM & SUN Java Cryptography Compatibiliy problem

阅读更多

在将系统转移到websphere上时,原来运行到好好的代码。突然就跑不起来了

查看日志文件后发现抛出了如下异常。

java 代码
  1. javax.crypto.BadPaddingException: Given final block not properly padded   
  2. at com.ibm.crypto.provider.DESCipher.engineDoFinal(Unknown Source)   
  3. at com.ibm.crypto.provider.DESCipher.engineDoFinal(Unknown Source)   
  4. at javax.crypto.Cipher.doFinal(Unknown Source)   
  5. at test.Decrypt.main(Decrypt.java:28)   

跟踪输入,均没有问题。没辙,只能上网solo...

根据下面这篇所说,应该是IBM和SUN的随机数生成算法不一致造成的(http://www.ibm.com/developerworks/forums/message.jspa?messageID=3674765

原代码:

java 代码
  1. KeyGenerator _generator = KeyGenerator.getInstance("DES");   
  2. _generator.init(new SecureRandom(strKey.getBytes()));   
  3. this.key = _generator.generateKey();  

修改为:

 


 

java 代码
  1. KeyGenerator _generator = KeyGenerator.getInstance("DES");   
  2. Security.addProvider(new sun.security.provider.Sun());   
  3. SecureRandom sr = SecureRandom.getInstance("SHA1PRNG","SUN");   
  4. sr.setSeed(strKey.getBytes());   
  5. generator.init(sr);   
  6. this.key = _generator.generateKey(); 

再把sun的jar包加到classpath即可。

记于此

分享到:
评论
1 楼 daquan198163 2012-05-30  
是rt.jar么?

相关推荐

    Java Cryptography Extension (JCE)

    Java Cryptography Extension (JCE) 是Java平台的一个重要组件,主要负责提供强大的加密算法和安全服务,用于开发安全的应用程序。在Java 8中,JCE扮演着核心角色,允许开发者执行加密操作,如数据加密、解密、数字...

    Java Cryptography with Examples

    本资源"Java Cryptography with Examples"提供了关于如何在Java环境中应用这些概念的详细教程。 首先,Java通过Java Cryptography Architecture (JCA) 和 Java Cryptography Extension (JCE) 提供了全面的加密支持...

    Java Cryptography Extension (JCE) Unlimited Strength Jurisdiction Policy Files

    Java Cryptography Extension (JCE) 是Java平台提供的一组用于加密和解密的高级库,它扩展了Java标准版(Java SE)中的核心加密功能。JCE 提供了丰富的算法支持,包括对称和非对称加密、消息摘要、数字签名、密钥...

    Java Cryptography Extension (JCE) Unlimited Strength Jurisdiction Policy Files 8

    java加解密无限制包,适用于JDK 8 ,JRE 8 。java能支持大部分的算法,但是受到出口限制,密钥长度不能满足需求。不过可以通过覆盖权限文件local_poblicy.jar和US_export_policy.jar取消相应限制。

    Java Cryptography Extension (JCE) 无限强度权限策略文件 8

    Java Cryptography Extension (JCE) 是Java平台的一个重要组件,主要负责提供高级的加密功能,支持各种加密算法,包括对称加密、非对称加密、哈希函数和数字签名等。在Java的标准版本中,出于安全性考虑,对于某些...

    Java Cryptography

    Java Cryptography:深入理解安全编程的关键工具 Java Cryptography 是一本专为Java程序员设计的书籍,旨在教授如何利用Java内置的加密工具编写安全程序。本书由Jonathan B. Knudsen撰写,于1998年5月首次出版,共...

    Java Cryptography pdf

    ### Java Cryptography PDF知识点概述 #### 一、Java Cryptography概览 - **书籍基本信息**: - **书名**:《Java Cryptography》 - **作者**:Jonathan B. Knudsen - **出版年份**:1998年5月 - **ISBN**:1-...

    Java_JCE(Java Cryptography Extension)

    JCE是java加密扩展包,由于美国出口限制规定,JCE对部分国家是限制出口的,致使其加密长度有所缩减,例如,DES算法因受到军事出口限制,目前仅提供56位的密钥长度,而实际安全要求至少要128位。对于出口限制,SUN...

    Java Cryptography Extension:JCE-1_2_2.zip

    Java Cryptography Extension(JCE)是一组包,它们提供用于加密、密钥生成和协商以及 Message Authentication Code(MAC)算法的框架和实现。它提供对对称、不对称、块和流密码的加密支持,它还支持安全流和密封的...

    Java Cryptography and code

    Java提供了一套强大的API,即Java Cryptography Extension (JCE) 和 Java Secure Socket Extension (JSSE),使得在Java应用程序中集成加密功能变得相对容易。 首先,我们要理解Java Cryptography Architecture (JCA...

    Java Cryptography Extension(jce) 源码

    Java Cryptography Extension (JCE) 是Java平台中用于加密、解密、数字签名以及消息摘要等安全操作的核心组件。它提供了强大的加密库,支持多种安全算法,如RSA、MD5、DES、AES等,同时也包含了X.509证书和PKCS系列...

    jce(Java加密扩展)

    1、javax.crypto.Cipher 类提供加密和解密的功能,它构成了 Java Cryptography Extension (JCE) —— Java 加密扩展框架的核心。这些都是 Java JDK 原生的 API,不是第三方的。 2、Cipher 的 getInstance(String ...

    Beginning Cryptography With Java 带源码

    Beginning Cryptography with Java While cryptography can still be a controversial topic in the programming community, Java has weathered that storm and provides a rich set of APIs that allow you, the ...

    Java - Introduction To Cryptography With Java Applets

    Java作为一种广泛使用的编程语言,具有跨平台的特性,这意味着用Java编写的程序可以在任何安装了Java虚拟机(JVM)的平台上运行。这使得Java成为了实现密码学算法的理想选择之一。在网络安全领域,Java因其强大的安全...

    Beginning Cryptography With Java 最新版 带源码

    《 Beginning Cryptography With Java》是一本专为Java开发者设计的加密技术入门书籍,它深入浅出地介绍了如何在Java环境中实现各种加密算法和技术。这本书的最新版还附带了源代码,使得读者能够通过实际操作来理解...

    Java JCE 出口限制文件

    Java JCE(Java Cryptography Extension)是Java平台标准版(Java SE)的一部分,它提供了高级的加密算法和技术,使得开发者可以构建安全的应用程序。在Java的早期版本中,特别是JDK15、1.6、1.7和1.8,JCE受到出口...

    Cryptanalysis of RSA and Its Variants

    Series: Chapman & Hall CRC Cryptography and Network Security Series Publisher: Chapman and Hall/CRC City: Year: 2009 Edition: 1 Language: English Pages (biblio\tech): 287\287 ISBN: 1420075187, ...

    Art of Cryptography in Java

    Java通过JCA提供了一整套加密框架,它包含JCE(Java Cryptography Extension)和JSSE(Java Secure Socket Extension)。JCE提供加密、解密、消息摘要等功能,JSSE则负责SSL/TLS协议,实现安全网络通信。 3. Java...

    JDK7源码 包含rt.jar包下的 sun包源码 sun.security包等源码

    在JDK7中,`sun.security`包涉及到了SSL/TLS网络通信的安全性、JCE(Java Cryptography Extension)的实现、JKS(Java Key Store)以及证书处理等关键功能。通过阅读这些源码,开发者可以深入了解Java如何处理网络...

Global site tag (gtag.js) - Google Analytics