非对称型加密非常适合多个客户端和服务器之间的秘密通讯 客户端使用桥猜碰同一个公钥将明文加密 而这个公钥不能逆向的解密 密文发送到服务器后有服务器端用私钥解密 这样就做到了明文的加密传送
非对称型加密也有它先兆闹天的缺点 加密 解密速度慢制约了它的发挥 如果你有大量的文字需要加密传送 建议你通过非对称型加密来把对称型 密钥 分发到客户端 及时更新对称型 密钥
import java io *
import java security *
import javax crypto *
import javax crypto spec *
/**
* <p>Title: RSA非对称型加密的公钥和私钥</p>
* <p>Description: </p>
* <p>Copyright: Copyright (c) </p>
* <p>Company: </p>
* @author not attributable
* @version
*/
public class KeyRSA {
private KeyPairGenerator kpg = null
private KeyPair kp = null
private PublicKey public_key = null
private PrivateKey private_key = null
private FileOutputStream public_file_out = null
private ObjectOutputStream public_object_out = null
private FileOutputStream private_file_out = null
private ObjectOutputStream private_object_out = null
/**
* 构造函数
敏谈* @param in 指定密匙长度(取值范围 ~ )
* @throws NoSuchAlgorithmException 异常
*/
public KeyRSA(int in String address) throws NoSuchAlgorithmException FileNotFoundException IOException
{
kpg = KeyPairGenerator getInstance( RSA )//创建 密匙对 生成器
kpg initialize(in)//指定密匙长度(取值范围 ~ )
kp = kpg genKeyPair()//生成 密匙对 其中包含着一个公匙和一个私匙的信息
public_key = kp getPublic()//获得公匙
private_key = kp getPrivate()//获得私匙
//保存公匙
public_file_out = new FileOutputStream(address + /public_key dat )
public_object_out = new ObjectOutputStream(public_file_out)
public_object_out writeObject(public_key)
//保存私匙
private_file_out = new FileOutputStream(address + /private_key dat )
private_object_out = new ObjectOutputStream(private_file_out)
private_object_out writeObject(private_key)
}
public static void main(String[] args) {
try {
System out println( 私匙和公匙保存到C盘下的文件中 )
new KeyRSA( c:/ )
}
catch (IOException ex) {
}
catch (NoSuchAlgorithmException ex) {
}
}
lishixinzhi/Article/program/Java/hx/201311/26592这个我不清楚。
对文件加密,我使用的是超级加密3000.
超级加密3000采用国际上成熟的橡绝友加密算法和安全快速的加密方法,可以有效保障数据安全!
具体 *** 作方法:
1下载安装超级加密3000。
2 然后在需要加密的文件上单击鼠标右键选择加密。
3 在d出的文件加密窗梁槐口中设置文件加密密码就OK了。
超级加密3000的下载地址你可以在百度上搜宏枣索超级加密3000,第一个就是。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)