问题描述
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 ??哪位大侠知道怎么解决啊? 问题补充:sheep3600 写道
解决方案
这个还真有点~~,你用的是sun的加密包,你少了个jar,这个jar不在jdk里面,需要你单独去下载~~~。包名如果我没记错的话应该是jcert.jar或者你那个是openjdk?