java给汉字进行RSA加密

来源:百度知道 编辑:UC知道 时间:2024/06/22 08:21:38
我自己写了一个简单的rsa算法,
能对数字和字符abc。。等等加密,如何对汉字进行加密呢???

我对字符加密是把他们 变成int 值,然后加密。 汉字如何弄呢?
有没有人帮帮忙??谢谢先

类似的,楼上说的针对一个汉字的写法也没错。
假如是RSA,应该使用BigDecimal函数来做。
那么,把字符串按照某一编码格式进行转换成byte [] ,然后使用BigDecimal转换成大整数,就能进行RSA计算了。

String 转 byte [] 方法是String.getBytes (字符集) 字符集可能是“UTF-16” 或者汉字的“GBK” 。

JAVA的char类型是2个字节的所以可以直接保存汉字

public static void main(String[] args){
char china = '汉';
System.out.println((int)(china));
}

//加密操作
Mtext="ninhao!123您好!";
Mtext=java.net.URLEncoder.encode(Mtext,"GBK");
byte ptext[]=Mtext.getBytes("GBK");//将字符串转换成byte类型数组,实质是各个字符的二进制形式
BigInteger m=new BigInteger(ptext);//二进制串转换为一个大整数
...
...
//解密操作
...
...
byte[]mt=m.toByteArray();//m为密文的BigInteger类型
String str=(new String(mt,"GBK"));
str=java.net.URLDecoder.decode(str,"GBK");