高手帮忙看看这个解密过程有什么有关问题
发布时间:2010-06-05 14:14:21 文章来源:www.iduyao.cn 采编人员:星星草
高手帮忙看看这个解密过程有什么问题!
问题描述:加密功能可以实现,但是加密后的字符不能实现解密(s3为空)。请高手指点!
代码如下所示:
package service;
import java.security.*;
import javax.crypto.Cipher;
import javax.crypto.KeyGenerator;
public class EnDecryptionSimple {
/**
* @param args
*/
public static void main(String[] args)
{
String str="hello123";
try
{
System.out.println("Generator a Blowfish key...");
KeyGenerator keyGenerator = KeyGenerator.getInstance("Blowfish");
keyGenerator.init(128);
Key key = keyGenerator.generateKey();
System.out.println("Done generatoring key.");
Cipher cipher = Cipher.getInstance("Blowfish/ECB/PKCS5Padding");
cipher.init(Cipher.ENCRYPT_MODE,key);//加密
byte[] s1 = str.getBytes("UTF-8");
System.out.println("s1:");
for(int i=0;i<s1.length;i++)
{
System.out.print(s1[i]+"-");
}
byte[] s2 = cipher.doFinal();
System.out.println("\ns2:");
for(int i=0;i<s2.length;i++)
{
System.out.print(s2[i]+"-");
}
cipher.init(Cipher.DECRYPT_MODE, key);//解密
byte[] tmp = cipher.doFinal(s2);
String s3 = new String(tmp);
System.out.println("\nS3:"+s3);
} catch (Exception e)
{
e.printStackTrace();
}
}
}
------解决方案--------------------
高手还没来。
我看看。
你的两个MODE是不是有问题。
------解决方案--------------------
import java.security.*;
import javax.crypto.Cipher;
import javax.crypto.KeyGenerator;
import javax.crypto.SecretKey;
public class Test {
private static String ALGORITHM ="DES";
public static void main(String[] args) {
String str = "hello123";
try {
KeyGenerator keyGenerator = KeyGenerator.getInstance(ALGORITHM);
Key key = keyGenerator.generateKey();
SecretKey deskey = new javax.crypto.spec.SecretKeySpec (key.getEncoded() ,ALGORITHM );
Cipher cipher = Cipher.getInstance (ALGORITHM );
cipher.init (Cipher.ENCRYPT_MODE ,deskey );
byte[] s1 = str.getBytes("UTF-8");
byte[] s2 = cipher.doFinal(s1);// 加密
cipher.init(Cipher.DECRYPT_MODE, deskey);
byte[] tmp = cipher.doFinal(s2);// 解密
System.out.println("s4===="+(new String(tmp)));
} catch (Exception e) {
e.printStackTrace();
}
}
}
友情提示:
信息收集于互联网,如果您发现错误或造成侵权,请及时通知本站更正或删除,具体联系方式见页面底部联系我们,谢谢。
其他相似内容:
-
使用javaService将java Application程序注册成windows系统服务,程序中调用的文件路径问题
我写的application程序,原来是在linux下...
-
java.sql.SQLException: [Microsoft][ODBC SQL Server Driver]l??ռ?ߵ?????һ?? hstmt
取数据库tableName的字段的名字时出现上...
-
Java线程优先级抢占问题
java中,使线池中的一个当前运行的线程阻塞,运行优先级高的线程,待高优先级线程运行完毕后,再运行刚才被阻塞...
-
JAVA女实习生适合编程及未来发展?
我是大四的 我还有一个月就要去北京当java实习生了 对编程还是有些兴趣了 因为是本专业 而且我...
-
这个怎么运行不成?请哪位大侠帮一下,谢谢!
public class Employee{
private int id;
private String name;
private ...
-
请懂LOG4J的大虾进来看看
小弟最近在学log4j
现在只是知道怎么配置,什么是什么。
那到底这个东西怎么运用到一个项目中去呢
...
-
数据库问题java.sql.SQLException: Column not found,急!!!!
救命啊
我读不了数据库啊
各位大侠教教我~~
我的代码:
/...
-
关于java程序的一些问题
由于初学java,对于运行后的错误不理解,麻烦大家指教了,谢谢!
2011-9-18 14:05:48 org.apache.catalina...
-
求apache mina框架所需要的jar包
如题,哪位好心人能给我发一份一些相关jar包吧,小弟感激不尽。要是能够给我发些学习资料,就更好。
...
-
同一个类的不同实例,他们的方法是否共用一个内存空间
如题
听说一个类创建多个实例的时候,其变量是分别创建不同的内存空间来存储,...