DES SecretKeyFactory not available
在写bat执行java程序的时候,有时候会需要导入很多外部jar,一般我们使用-Djava.ext.dirs=xxxxxx 就可以一次性导入所有外部jar,
但在执行DES3加密时,会出现 DES SecretKeyFactory not available 异常,网上搜索,最快速解决方式为:将sunjce_provider.jar 复制到你的xxxxxx目录。异常顺利得到解决~~
网上亦有说
一: 用jdk下的jre加密数据时才会出这个错
但用和jdk同级的jre就不会
解决方式是 把java_home改成jre目录就ok
二:因为 设置了-Djava.ext.dirs 就会把 系统默认加载java_home/jre/lib/ext/作为扩展包代替
所以我们只要加java_home/jre/lib/ext/加上就OK
暂作记录,无暇尝试
相关推荐
在这个场景中,我们关注的是"crypto-js"库中的DES(Data Encryption Standard)加密与Java的SecretKeyFactory进行解密的对接。DES是一种广泛使用的对称加密算法,它以64位的数据块进行操作,但实际有效密钥长度仅为...
程序报错:Caused by: java.security.NoSuchAlgorithmException: PBKDF2WithHmacSHA256 SecretKeyFactory not available 就是缺少这个包
* 首先,import 相关的包,例如 `java.security.SecureRandom`、`javax.crypto.Cipher`、`javax.crypto.SecretKey`、`javax.crypto.SecretKeyFactory`、`javax.crypto.spec.DESKeySpec` 等。 * 然后,定义一个 `...
标题中的“java和C#通用des3加解密”指的是在Java和C#这两种不同的编程语言中实现DES(Data Encryption Standard)的加强版——3DES(Triple DES)加解密算法。3DES是一种广泛使用的对称加密算法,通过三次应用DES的...
3DES的Java实现通常涉及`javax.crypto`包中的`Cipher`类和`SecretKeyFactory`类。首先,需要将原始的168位密钥转换为3个56位的DES密钥,然后分别用于加密和解密过程。在Java中,可以使用`KeySpec`对象,如`...
- **javax.crypto命名包**:JAVA中使用`javax.crypto.Cipher`类配合`DESKeySpec`和`SecretKeyFactory`实现DES加密解密。首先需要创建`DESKeySpec`对象,然后通过`SecretKeyFactory`生成`SecretKey`,再用`Cipher`...
SecretKeyFactory keyFactory = SecretKeyFactory.getInstance("DES"); SecretKey secretKey = keyFactory.generateSecret(keySpec); Cipher cipher = Cipher.getInstance("DES"); cipher.init(Cipher.ENCRYPT...
在Java中实现3DES,需要使用`javax.crypto`包中的类,主要包括`Cipher`用于加解密操作,`SecretKeyFactory`用于处理密钥,以及`KeySpec`用于创建密钥。下面是一个简单的3DES加密和解密的Java代码示例,对应于文件名`...
在这个例子中,我们首先创建了一个`SecretKeyFactory`对象,用于生成3DES密钥。然后使用`Cipher`类进行加密和解密操作,指定加密模式为`DESede/ECB/PKCS5Padding`,其中`ECB`是块加密模式,`PKCS5Padding`是填充方式...
SecretKeyFactory keyFactory = SecretKeyFactory.getInstance("DES"); SecretKey securekey = keyFactory.generateSecret(new DESKeySpec(desKey.getBytes())); // Cipher对象实际完成加密操作 Cipher ...
SecretKeyFactory keyFactory = SecretKeyFactory.getInstance("DES"); SecretKey secretKey = keyFactory.generateSecret(desKeySpec); Cipher cipher = Cipher.getInstance("DES/ECB/PKCS5Padding"); cipher....
3DES(Triple Data Encryption Standard)是一种广泛应用的对称加密算法,它是基于DES(Data Encryption Standard)的加强版,为了解决DES较短密钥的安全性问题而设计。在这个场景中,我们将深入探讨3DES的原理、...
SecretKeyFactory keyFactory = SecretKeyFactory.getInstance("DES"); SecretKey secretKey = keyFactory.generateSecret(desKey); Cipher cipher = Cipher.getInstance("DES/ECB/PKCS5Padding"); cipher.init...
DES,全称Data Encryption Standard,是一种古老的对称加密算法,广泛应用于数据的加密与解密。在Java中,我们可以利用Java Cryptography Extension (JCE) 库来实现DES的加密和解密操作。本资源提供了关于DES在Java...
- 创建密钥:使用`new DESKeySpec(key)`创建`DESKeySpec`实例,然后通过`SecretKeyFactory.getInstance("DES")`和`generateSecret()`生成`SecretKey`。 - 初始化`Cipher`:`Cipher cipher = Cipher.getInstance("DES...
SecretKeyFactory keyFactory = SecretKeyFactory.getInstance("DES"); SecretKey key = keyFactory.generateSecret(keySpec); // 初始化Cipher对象 Cipher cipher = Cipher.getInstance("DES/ECB/PKCS5Padding...
SecretKeyFactory keyFactory = SecretKeyFactory.getInstance("DES"); // 从DES密钥规格转换为SecretKey SecretKey key = keyFactory.generateSecret(dks); ``` 3. **加密源代码**: ```java // 获取...
DES(Data Encryption Standard)是一种经典的对称加密算法,它的全称是数据加密标准。在本文中,我们将深入探讨DES加密的原理以及如何在前端JavaScript和后端Java之间实现互通。 DES算法基于Feistel结构,它将明文...
在这个例子中,我们首先定义了一个3DES密钥,并使用`SecretKeyFactory`生成`SecretKey`实例。然后,我们初始化`Cipher`对象,分别用于加密和解密。`Cipher`的`doFinal`方法执行实际的加密或解密操作。 请注意,实际...
SecretKeyFactory keyFactory = SecretKeyFactory.getInstance("DES"); SecretKey secretKey = keyFactory.generateSecret(desKeySpec); ``` 3. 初始化Cipher对象: Cipher对象负责加密和解密操作。根据需要选择`...