String s="Hello World!你好!";
FileInputStream f=new FileInputStream("Skey_RSA_pub.dat");
ObjectInputStream b=new ObjectInputStream(f);
RSAPublicKey pbk=(RSAPublicKey)b.readObject( );
BigInteger e=pbk.getPublicExponent();
BigInteger n=pbk.getModulus();
byte ptext[]=s.getBytes("UTF8"); //换成gbk也不行
BigInteger m=new BigInteger(ptext);
BigInteger c=m.modPow(e,n);
...................这样加密出来后解密出来有乱码,怎么解决?
FileInputStream f=new FileInputStream("Skey_RSA_pub.dat");
ObjectInputStream b=new ObjectInputStream(f);
RSAPublicKey pbk=(RSAPublicKey)b.readObject( );
BigInteger e=pbk.getPublicExponent();
BigInteger n=pbk.getModulus();
byte ptext[]=s.getBytes("UTF8"); //换成gbk也不行
BigInteger m=new BigInteger(ptext);
BigInteger c=m.modPow(e,n);
...................这样加密出来后解密出来有乱码,怎么解决?
解决方案 »
- 关于模板填充
- 关于函数的重用~~~~菜鸟级问题
- 求助:java正则表达式解析find kw=a kw1=b kw3=d c
- 求解!!————-用prepareStatement对ACCESS进行模糊查找。问题!!!
- 为什么SWING控件无法在已正常加载的情况下正常显示
- 请教牛人,怎么通读package的框架》?
- 弱弱的问:java类中变量可以赋值,而c++中不可以,我不太理解
- 一般使用哪种迭代器,有能进行类型内部分析的吗?
- 装了JB6,可是不会用,有哪位大哥大姐有中文的教程啊什么吗:???
- 请教:如何用Java通过telnet发出命令并接收反馈
- POI都excel时候cell为空或者是数字时候,老出错
- 高分请假高手怎样用displagtag1.1实现分页?谢谢!
先把汉字用Java.net.URLEncode 处理一下
然后加密 刚刚处理或的字符串(此时已经不含中文了 中文已经处理成 类似"%E5%81%A5%E5%BA%B7%E5%9C%B0"的格式了)
用rsa解密后 再用java.net.URLDecode处理一下 就把中文还原回来了这只是一个解决方案
还有N多的方法 大同小异