看下这个Java加密的问题啊。。。。。。。。。。。。。。。

String DES = "DES";
// DES算法要求有一个可信任的随机数源
SecureRandom sr = new SecureRandom();
// 从原始密匙数据创建DESKeySpec对象
DESKeySpec dks = new DESKeySpec("password".getBytes());
// 创建一个密匙工厂,然后用它把DESKeySpec转换成
// 一个SecretKey对象
SecretKeyFactory keyFactory = SecretKeyFactory.getInstance(DES);
SecretKey securekey = keyFactory.generateSecret(dks);
// Cipher对象实际完成加密操作
Cipher cipher = Cipher.getInstance(DES);
// 用密匙初始化Cipher对象
cipher.init(Cipher.ENCRYPT_MODE, securekey, sr);
byte[] b = cipher.doFinal(("myinfo").getBytes());

为啥我在使用时,出现错误信息:Class com.sun.crypto.provider.DESKeyFactory configured for SecretKeyFactory is not a SecretKeyFactory ??哪位大侠知道怎么解决啊?

1个回答

这个还真有点~~,你用的是sun的加密包,你少了个jar,这个jar不在jdk里面,需要你单独去下载~~~。
包名如果我没记错的话应该是jcert.jar

或者你那个是openjdk?

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问