java 加密和解密
来源:互联网 发布:淘宝上宝贝描述怎么写 编辑:程序博客网 时间:2024/06/05 04:53
自己写了个加密和解密的小程序和大家分享一下。
public class TestEncrypt {
/**
* TODO <Method comments>
*
* @param args
* @author YinPengBo ,2011-1-10下午04:35:12
* @modified
*/
//密钥生成器
private KeyGenerator keygen;
//负责保存密钥
private SecretKey skey;
//加密和解密工具
private Cipher c;
//负责保存加密结果
private byte[] cipherByte;
public TestEncrypt(){
Security.addProvider(new com.sun.crypto.provider.SunJCE());
try {
//获得密钥生成器对象
keygen = KeyGenerator.getInstance("DES");
//生成密钥
skey = keygen.generateKey();
//生成cipher对象
c = Cipher.getInstance("DES");
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
/**
*
* construction a new instance. TODO <Sth.>
*
* @param encryptModel 加密方法:如,DES,AES
*/
public TestEncrypt(String encryptModel){
Security.addProvider(new com.sun.crypto.provider.SunJCE());
try {
//获得密钥生成器对象
keygen = KeyGenerator.getInstance(encryptModel);
//生成密钥
skey = keygen.generateKey();
//生成cipher对象
c = Cipher.getInstance(encryptModel);
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
/**
* 对字符串进行加密
* TODO <Method comments>
*
* @param str 要加密的字符串
* @return
* @author YinPengBo ,2011-1-11下午02:57:07
* @modified
*/
public String createEncryptor(String str){
//用密钥初始化cipher,指定方式目前为加密
try {
c.init(Cipher.ENCRYPT_MODE, skey);
//加密保存
cipherByte = c.doFinal(str.getBytes());
//用Base64的encode方法将byte转成String
String encode= Base64.encode(cipherByte);
return encode;
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
return "";
}
}
/**
* 解密
* TODO <Method comments>
*
* @param buff,加密后的字节
* @return
* @author YinPengBo ,2011-1-11下午03:03:04
* @modified
*/
public String createDencryptor(String passStr){
try {
//初始化Cipher,指定目前为解密
c.init(Cipher.DECRYPT_MODE, skey);
//用Base64的decode方法将String转成byte
byte[] bytes = Base64.decode(passStr);
cipherByte = c.doFinal(bytes);
return new String(cipherByte);
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
return "";
}
}
public static void main(String[] args) {
TestEncrypt te = new TestEncrypt("AES");
String testStr = "tom123&id=尹鹏波***……&……&1324";
System.out.println("加密前:"+testStr);
String afterEncryptStr = te.createEncryptor(testStr);
System.out.println("加密后:"+afterEncryptStr);
System.out.println("解密后:"+te.createDencryptor(afterEncryptStr));
- Java加密和解密
- java 加密和解密
- Java加密和解密
- Java加密和解密
- Java加密和解密
- Java加密和解密
- Java加密和解密
- java加密和解密
- java MD5加密和解密
- java对称加密和解密
- JAVA加密和解密案例
- 用java实现des加密和解密
- JAVA实现DES加密和解密软件
- java 和 C# 通用加密解密
- JAVA和C# 3DES加密解密
- Java的MD5加密和解密
- java实现XML的加密和解密
- java和.net 交互加密解密
- 英国独立电影奖提名 《国王的演讲》八项领跑
- Eclipse I/O Error: Cannot run program "jar": CreateProcess error=2
- 20 Centre Top-10 Algorithm
- xp下administrator用户登录条不显示,怎么办?
- linux shell 学习笔记4
- java 加密和解密
- Solaris 10 x86系统上添加新硬盘过程
- MACHINE_START宏
- 开源世界旅行手册
- 关于嵌入式系统的启动
- select 的用法
- oracle 索引失效原因及解决方法
- Oracle exp命令常用用法
- socket通信