最近在做开发的时候遇到要对用户输入进行加密,上网搜索了一下java下可以使用的加密解密工具包。发现sun本身从jdk1.3开始就提供一个可以选用安装的sunjce工具包。利用sunjce可以产生指定加密算法下的密文于是我就按照用户手册编写了一个加密解密测试类。但是在运行时控制台总是报错没有指定算法(java.security.NoSuchAlgorithmException),可是我按照开发手册已经动态添加了实现类并指定了相应算法.
Security.addProvider(new com.sun.crypto.provider.SunJCE());
SecretKeyFactory keyFac = SecretKeyFactory.getInstance("PBEWithMD5AndDES");
按照控制台错误信息搜索了一下,多半是说没有指定实现类即上文提到 Security.addProvider(new com.sun.crypto.provider.SunJCE());再次查找报错信息相关的网页时,发现有一个回复说将系统时间更改为2004年.试验了一下果然不报错了,那么将系统时间调到比当前时间更大的时间呢.当系统时间被调到2006年时,再次运行程序报错信息发生了变化控制台输出为:java.lang.SecurityException: Cannot set up certs for trusted CAs,在网上搜索了一下终于找到了真正原因:
JCE 1.2.1的证书失效,在2005/07/28以后软件可能不能正常工作,jdk1.3的用户可以从http://java.sun.com/products/jce/index-122.html下载最新的sunjce工具包jce1.2.2后覆盖原来的jce1.2.1.jar即可.
分享到:
相关推荐
本示例通过Java实现了字符串的加密与解密功能,采用DES加密算法,提供了基本的加密解密功能及字符串与十六进制之间的转换。这种实现方式适用于简单的加密需求,但对于更复杂的安全场景,建议考虑使用更先进的加密...
这个压缩包`JAVA数据加密之sunjce_provider.rar`显然提供了关于如何在Java环境中使用`sunjce_provider`进行数据加密的资源。 首先,让我们了解什么是加密。加密是一种将明文(可读数据)转换为密文(不可读数据)的...
Java 作为一种广泛使用的编程语言,在处理敏感数据时提供了多种加密解密手段来确保信息安全。本文将深入探讨 Java 中实现加密解密的核心概念和技术细节。 #### 二、Java 加密解密基础知识 ##### 2.1 加密算法类型 ...
在Java中,使用3DES进行加密解密通常需要依赖Sun公司提供的JCE(Java Cryptography Extension)库。以下是关于3DES加密解密算法在Java中的实现细节: 首先,为了使用3DES,Java程序需要引入特定的JAR包,这些包通常...
Java加密解密字符串找不到 com.sun.crypto.provider.SunJCE() 用到jar包
下面是一个使用DES算法实现的加密解密工具类的例子: ```java import java.io.*; import javax.crypto.*; import javax.crypto.spec.*; import java.security.*; import java.security.spec.*; import ...
包括:Java、Android、C、C++、iOS、JavaScript,共6中语言间AES的加密解密实现,且各种语言间密文、明文互通,每种语言1分共6分,觉得值就拿走。 Java和Android依赖sunjce_provider.jar,其他语言无依赖; C和C++...
### DES加密解密字符串的Java实现 #### 一、概述 数据加密标准(Data Encryption Standard,简称DES)是一种对称加密算法,最初由IBM开发,并于1977年被美国国家标准局采纳为官方标准。DES算法使用一个56位的密钥...
《深入理解Java安全机制:sunjce_provider.jar与DES加密解密》 在Java编程领域,安全性是不可或缺的一部分。为了确保数据的安全传输和存储,开发者经常需要用到加密解密技术。sunjce_provider.jar是一个关键的组件...
使用Java实现加密解密的关键步骤 1. **初始化密钥**:使用`KeyGenerator`类生成加密所需的密钥。 2. **加密过程**:调用`Cipher`类的`doFinal`方法进行加密。 3. **解密过程**:同样使用`Cipher`类的`doFinal`方法...
“标签”中的“sunjce_provider”和“com.sun.crypto.p”进一步强调了问题的核心在于SunJCE加密服务提供者。标签中的“p”可能是“provider”的简写,暗示着问题与Java的加密服务提供者机制有关。 总结一下,这个...
"sunjce_provider.zip"是一个包含SUNJCE提供商实现的压缩包,主要文件为"sunjce_provider.jar",这个JAR文件包含了用于加密、解密、数字签名和密钥管理等操作的类和接口。 1. **Java Cryptography Architecture ...
如果一切正常,加密解密功能应该可以正常使用了。 了解`com.sun.crypto.provider.SunJCE`这个服务提供者对于理解Java加密机制至关重要。它不仅提供了基本的加密解密功能,还支持高级的加密算法,如AES、RSA、DSA等...
在本文中,我们将介绍如何在 SpringBoot 项目中集成 Jasypt 对数据库进行加密,并解决在使用 Jasypt 过程中遇到的常见问题。 在开始之前,需要首先添加 Jasypt 的依赖项到 pom.xml 文件中: ```xml <groupId>...
Java部分使用了JDK自带的SunJCE加密框架,一般网上可以找到的Java加密解密都是使用SunJCE框架,还有一个比较著名的 Java开源加密工具是bouncycastle(http://www.bouncycastle.org/),因为SunJCE是JDK自带的,所以...
虽然`sunjce_provider.jar`提供了丰富的加密功能,但需要注意的是,出于政策原因,Oracle的JCE默认限制了某些高强度加密算法的使用。例如,在不受限的JCE政策文件未安装的情况下,可能会遇到强度限制。对于需要使用...
C#的代码会创建一个`DESCryptoServiceProvider`实例,设置密钥和初始化向量,然后使用`CreateEncryptor()`方法获取加密器并执行加密。 在PHP中,可以使用`mcrypt`扩展(虽然已被标记为废弃,但仍然可用)或内置的`...
对称加密是一种使用同一密钥进行加密和解密的加密技术。它的优点在于加解密速度快,适合处理大量数据。Java中实现对称加密的关键类包括`KeyGenerator`、`SecretKey`和`Cipher`。 `KeyGenerator`类用于生成对称密钥...