在将系统转移到websphere上时,原来运行到好好的代码。突然就跑不起来了
查看日志文件后发现抛出了如下异常。
java 代码
- javax.crypto.BadPaddingException: Given final block not properly padded
- at com.ibm.crypto.provider.DESCipher.engineDoFinal(Unknown Source)
- at com.ibm.crypto.provider.DESCipher.engineDoFinal(Unknown Source)
- at javax.crypto.Cipher.doFinal(Unknown Source)
- at test.Decrypt.main(Decrypt.java:28)
跟踪输入,均没有问题。没辙,只能上网solo...
根据下面这篇所说,应该是IBM和SUN的随机数生成算法不一致造成的(http://www.ibm.com/developerworks/forums/message.jspa?messageID=3674765)
原代码:
java 代码
- KeyGenerator _generator = KeyGenerator.getInstance("DES");
- _generator.init(new SecureRandom(strKey.getBytes()));
- this.key = _generator.generateKey();
修改为:
java 代码
- KeyGenerator _generator = KeyGenerator.getInstance("DES");
- Security.addProvider(new sun.security.provider.Sun());
- SecureRandom sr = SecureRandom.getInstance("SHA1PRNG","SUN");
- sr.setSeed(strKey.getBytes());
- generator.init(sr);
- this.key = _generator.generateKey();
再把sun的jar包加到classpath即可。
记于此
分享到:
相关推荐
Java Cryptography Extension (JCE) 是Java平台的一个重要组件,主要负责提供强大的加密算法和安全服务,用于开发安全的应用程序。在Java 8中,JCE扮演着核心角色,允许开发者执行加密操作,如数据加密、解密、数字...
本资源"Java Cryptography with Examples"提供了关于如何在Java环境中应用这些概念的详细教程。 首先,Java通过Java Cryptography Architecture (JCA) 和 Java Cryptography Extension (JCE) 提供了全面的加密支持...
Java Cryptography Extension (JCE) 是Java平台提供的一组用于加密和解密的高级库,它扩展了Java标准版(Java SE)中的核心加密功能。JCE 提供了丰富的算法支持,包括对称和非对称加密、消息摘要、数字签名、密钥...
java加解密无限制包,适用于JDK 8 ,JRE 8 。java能支持大部分的算法,但是受到出口限制,密钥长度不能满足需求。不过可以通过覆盖权限文件local_poblicy.jar和US_export_policy.jar取消相应限制。
Java Cryptography Extension (JCE) 是Java平台的一个重要组件,主要负责提供高级的加密功能,支持各种加密算法,包括对称加密、非对称加密、哈希函数和数字签名等。在Java的标准版本中,出于安全性考虑,对于某些...
Java Cryptography:深入理解安全编程的关键工具 Java Cryptography 是一本专为Java程序员设计的书籍,旨在教授如何利用Java内置的加密工具编写安全程序。本书由Jonathan B. Knudsen撰写,于1998年5月首次出版,共...
### Java Cryptography PDF知识点概述 #### 一、Java Cryptography概览 - **书籍基本信息**: - **书名**:《Java Cryptography》 - **作者**:Jonathan B. Knudsen - **出版年份**:1998年5月 - **ISBN**:1-...
JCE是java加密扩展包,由于美国出口限制规定,JCE对部分国家是限制出口的,致使其加密长度有所缩减,例如,DES算法因受到军事出口限制,目前仅提供56位的密钥长度,而实际安全要求至少要128位。对于出口限制,SUN...
Java Cryptography Extension(JCE)是一组包,它们提供用于加密、密钥生成和协商以及 Message Authentication Code(MAC)算法的框架和实现。它提供对对称、不对称、块和流密码的加密支持,它还支持安全流和密封的...
Java提供了一套强大的API,即Java Cryptography Extension (JCE) 和 Java Secure Socket Extension (JSSE),使得在Java应用程序中集成加密功能变得相对容易。 首先,我们要理解Java Cryptography Architecture (JCA...
Java Cryptography Extension (JCE) 是Java平台中用于加密、解密、数字签名以及消息摘要等安全操作的核心组件。它提供了强大的加密库,支持多种安全算法,如RSA、MD5、DES、AES等,同时也包含了X.509证书和PKCS系列...
1、javax.crypto.Cipher 类提供加密和解密的功能,它构成了 Java Cryptography Extension (JCE) —— Java 加密扩展框架的核心。这些都是 Java JDK 原生的 API,不是第三方的。 2、Cipher 的 getInstance(String ...
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作为一种广泛使用的编程语言,具有跨平台的特性,这意味着用Java编写的程序可以在任何安装了Java虚拟机(JVM)的平台上运行。这使得Java成为了实现密码学算法的理想选择之一。在网络安全领域,Java因其强大的安全...
《 Beginning Cryptography With Java》是一本专为Java开发者设计的加密技术入门书籍,它深入浅出地介绍了如何在Java环境中实现各种加密算法和技术。这本书的最新版还附带了源代码,使得读者能够通过实际操作来理解...
Java JCE(Java Cryptography Extension)是Java平台标准版(Java SE)的一部分,它提供了高级的加密算法和技术,使得开发者可以构建安全的应用程序。在Java的早期版本中,特别是JDK15、1.6、1.7和1.8,JCE受到出口...
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, ...
Java通过JCA提供了一整套加密框架,它包含JCE(Java Cryptography Extension)和JSSE(Java Secure Socket Extension)。JCE提供加密、解密、消息摘要等功能,JSSE则负责SSL/TLS协议,实现安全网络通信。 3. Java...
在JDK7中,`sun.security`包涉及到了SSL/TLS网络通信的安全性、JCE(Java Cryptography Extension)的实现、JKS(Java Key Store)以及证书处理等关键功能。通过阅读这些源码,开发者可以深入了解Java如何处理网络...