采用对称的加密的算法,具体看代码吧。
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;
import java.security.Key;
import javax.crypto.Cipher;
import javax.crypto.KeyGenerator;
/**
* 加密解密算法1
* @author sknife
*
*/
public class RVEncode1 {
public static void main(String args[]) {
String password = "tiger";
try {
RVEncode1.setPriveKey("t.obj");
RVEncode1.PrivEncrypt(password,"t.obj");
} catch (Exception e) {
e.printStackTrace();
}
}
/**
*
* @param oldStr
* 要加密的串
* @param keyFile
* 私有key所在的文件路径
* @throws Exception
*/
public static void PrivEncrypt(String oldStr,String keyFile) throws Exception {
System.out.println("原始:"+oldStr);
byte[] plainText = oldStr.getBytes("GBK");
Key key = getPriveKey(keyFile);
// 获得一个私鈅加密类Cipher,ECB是加密方式,PKCS5Padding是填充方法
Cipher cipher = Cipher.getInstance("DES/ECB/PKCS5Padding");
cipher.init(Cipher.ENCRYPT_MODE, key);// 使用私鈅加密
byte[] cipherText = cipher.doFinal(plainText);
System.out.println("加密:"+new String(cipherText, "UTF8"));
cipher.init(Cipher.DECRYPT_MODE, key);// 使用私钥解密
byte[] newPlainText = cipher.doFinal(cipherText);
System.out.println("解密:"+new String(newPlainText, "UTF8"));
}
// 把Key 写到文件中:生成一个私有Key对象,保存在文件中
public static void setPriveKey(String file) {
FileOutputStream fos;
try {
fos = new FileOutputStream(file);
KeyGenerator keyGen = KeyGenerator.getInstance("DES");
keyGen.init(56);//
Key key = keyGen.generateKey();// 生成私钥Key
ObjectOutputStream oos = new ObjectOutputStream(fos);
oos.writeObject(key);
oos.close();
} catch (Exception e1) {
e1.printStackTrace();
}
}
// 从文件中读Key:客户端可以根据管理员提供的私钥Key文件提取Key对象
public static Key getPriveKey(String file) throws Exception {
FileInputStream fis = new FileInputStream(file);
ObjectInputStream ois = new ObjectInputStream(fis);
Key key = (Key) ois.readObject();
return key;
}
}
分享到:
相关推荐
java实现MD5加密解密算法,java源代码~
JAVA加密解密算法 JAVA加密解密算法
主要介绍了java实现的RC4加密解密算法,结合具体实例形式分析了java RC4加密解密算法的实现与使用技巧,需要的朋友可以参考下
主要介绍了Java实现的RSA加密解密算法,结合实例形式分析了java RAS加密解密算法的相关实现技巧,需要的朋友可以参考下
用java代码写的流行的加密解密算法的实现
这是本人完成的课程设计,内容是用java语言实现对文件的加密解密操作,算法采用的是3DES
很强的Java加密解密算法源码
一个很实用的java的加密和解密算法的小实例,大家可以参考一下!!
java加密解密java加密解密java加密解密java加密解密java加密解密java加密解密java加密解密java加密解密
java加密 解密 MD5加密 常用java加密解密算法
java加密解密算法的集合,AES DES。
TripleDES加密解密算法的实现(JAVA)
本文就简单介绍如何通过JAVA实现AES加密: /** * 测试AES加密和解密 * @param args */ public static void main(String[] args) { /**数据初始化**/ String content = "http://www.mbaike.net"; String...
对文本进行加密和解密,异或加密和转化二进制十六进制加密
基于java的开发源码-很强的加密解密算法源码.zip 基于java的开发源码-很强的加密解密算法源码.zip 基于java的开发源码-很强的加密解密算法源码.zip 基于java的开发源码-很强的加密解密算法源码.zip 基于java的开发...
java实现加密解密算法工具类_Cipher
java的各种加密解密算法,对称,非对称,数字签名,消息摘要等等
JAVA源码很强的Java加密解密算法源码提取方式是百度网盘分享地址
sun java 3DES加密解密算法