DES加密错误(java.security.NoSuchAlgorithmException: Cannot find any provider suppor)

问题描述

我的环境是jdk1.5,在请求一个webService的时候要在soap header中传一个密码,并对密码进行DES加密。但是现在加密代码: deskey = new DESKeySpec(key);keySpec = new SecretKeySpec(deskey.getKey(), "DES"); //报错的地方Cipher cipher = Cipher.getInstance(strAlgorithm); //报错的地方cipher.init(Cipher.ENCRYPT_MODE, keySpec);byte[] utf8 = strDataToEncrypt.getBytes("UTF8");byte[] enc = cipher.doFinal(utf8);strResult = new sun.misc.BASE64Encoder().encode(enc);报了java.security.NoSuchAlgorithmException: Cannot find any provider suppor的错误,网上查了好多资料都没什么解决的办法,也试了别人说只单启Tomcat就不会报错了,但是我是要在eclipse中启Tomcat的,这样才能调试代码么。有谁知道解决办法吗? 问题补充:srj2903 写道

解决方案

去下SUN独立的加密算法包, 放到JDK下就好了。
解决方案二:
strAlgorithm 传的参数是什么?是 “DES” 吧?Cipher.ENCRYPT_MODE 加密模式keySpec = new SecretKeySpec(deskey.getKey(), "DES"); 是要对称加密算法?应该是 keySpec 出的错误key 要做下处理 (new BASE64Decoder()).decodeBuffer(key) sun.misc.BASE64Decoder包的
解决方案三:
des加密时密钥不能少于16位

时间: 2024-10-23 04:35:59

DES加密错误(java.security.NoSuchAlgorithmException: Cannot find any provider suppor)的相关文章

java.security.NoSuchAlgorithmException: Cannot find any provider supporting AES

问题描述 在做加密的时候遇到这个异常java.security.NoSuchAlgorithmException:CannotfindanyprovidersupportingAESat大家给几个可能出现的问题的原因. 解决方案 解决方案二:不了解AES列举下可能原因1.算法名不对2.jdk没有AES的实现3.需要为该算法指定一个provider

des加密解密JAVA与.NET互通实例_java

JAVA版本 复制代码 代码如下: import javax.crypto.Cipher; import javax.crypto.SecretKey; import javax.crypto.SecretKeyFactory; import javax.crypto.spec.DESKeySpec; import javax.crypto.spec.IvParameterSpec; public class Des { private byte[] desKey; //解密数据 public

Android比DES加密更安全的算法——3DES加密算法

 转载请注明出处:http://blog.csdn.net/zhaokaiqiang1992     在前面的文章里面,我们讨论了DES算法,同时也明白了如何才能保证不同平台下的加密和解密结果的一致性.但是DES作为出现了很长时间的一种加密算法,随着计算机运算能力的加强,DES加密容易被暴力破解,其安全性变得有点低.于是,为了增强数据的安全性,3DES算法就应运而生了.     3DES,顾名思义,就是对DES加密算法的改进,3DES通过对每个数据进行3次DES加密,从而降低被破解的可能性.  

java.security.MessageDigest的使用(2),生成安全令牌!

时候,我们需要产生一个数据,这个数据保存了用户的信息,但加密后仍然有可能被人使用,即便他人不确切的了解详细信息... 好比,我们在上网的时候,很多网页都会有一个信息,是否保存登录信息,以便下次可以直接登录而不必再次输入账户,密码等...而通常这样需要Cookie保存用户信息,当然,这个信息是加密信息,且一般都加了时间戳等验证信息的...     登陆时,读取cookie,解析cookie的信息,以及如时间戳等附加信息.如果没有时间戳...那么任何人只要有这个cookie,复制cookie到他的电

C# des加密解密

问题描述 java的DES加密解密转成C#的des加密解密java的DES加密解密代码/****使用DES加密与解密,可对byte[],String类型进行加密与解密密文可使用String,byte[]存储.**方法:voidgetKey(StringstrKey)从strKey的字条生成一个Key*setKey()从默认defaultKey的字条生成一个Key*StringgetEncString(StringstrMing)对strMing进行加密,返回String密文String*getD

PHP、Java des加密解密实例

  这篇文章主要介绍了PHP.Java des加密解密实例,des加密是对称加密中在互联网应用的比较多的一种加密方式,本文分别给出了PHP和JAVA版本的实现代码,需要的朋友可以参考下 des加密是对称加密中在互联网应用的比较多的一种加密方式,php 通过mcrypt扩展库来支持des加密,要在Php中使用des加密,需要先安装mcrypt扩展库 下面是加密解密的实例 代码如下: $iv_size = mcrypt_get_iv_size(MCRYPT_RIJNDAEL_256, MCRYPT_

PHP、Java des加密解密实例_php实例

des加密是对称加密中在互联网应用的比较多的一种加密方式,php 通过mcrypt扩展库来支持des加密,要在Php中使用des加密,需要先安装mcrypt扩展库 下面是加密解密的实例 复制代码 代码如下: $iv_size = mcrypt_get_iv_size(MCRYPT_RIJNDAEL_256, MCRYPT_MODE_ECB);  $iv = mcrypt_create_iv($iv_size, MCRYPT_RAND);  $key = "This is a very secre

关于java解密的问题,C#DES加密过的数据,用java解密

问题描述 关于java解密的问题,C#DES加密过的数据,用java解密 C#加密解密代码如下 public static String sKey = "xxxxxx"; /// <summary> /// 加密 /// </summary> /// <param name="Text"></param> /// <returns></returns> public static String

Java/Android DES加密

问题描述 DES的简单封装,适用于Java和Android.先简单定义几个常量/***DES工具类*@authorunicorn*@version@2015年3月10日下午3:45:05*/publicclassDES{//初始化向量,必须八位privatestaticbyte[]iv={1,2,3,4,5,6,7,8};staticfinalStringDES="DES";staticfinalStringDES_TRANSFORMATION="DES/CBC/PKCS5P