密码加密与解密
2015-11-13 19:47
477 查看
import java.math.BigInteger;
import java.security.InvalidKeyException;
import java.security.NoSuchAlgorithmException;
import javax.crypto.BadPaddingException;
import javax.crypto.Cipher;
import javax.crypto.IllegalBlockSizeException;
import javax.crypto.NoSuchPaddingException;
import javax.crypto.spec.SecretKeySpec;
public class EnCodeTest {
private static String encode(String secret) throws NoSuchPaddingException,
NoSuchAlgorithmException, InvalidKeyException, BadPaddingException,
IllegalBlockSizeException {
byte[] kbytes = "jaas is the way".getBytes();
SecretKeySpec key = new SecretKeySpec(kbytes, "Blowfish");
Cipher cipher = Cipher.getInstance("Blowfish");
cipher.init(Cipher.ENCRYPT_MODE, key);
byte[] encoding = cipher.doFinal(secret.getBytes());
BigInteger n = new BigInteger(encoding);
return n.toString(16);
}
private static String decode(String secret) throws NoSuchPaddingException,
NoSuchAlgorithmException, InvalidKeyException, BadPaddingException,
IllegalBlockSizeException {
byte[] kbytes = "jaas is the way".getBytes();
SecretKeySpec key = new SecretKeySpec(kbytes, "Blowfish");
BigInteger n = new BigInteger(secret, 16);
byte[] encoding = n.toByteArray();
Cipher cipher = Cipher.getInstance("Blowfish");
cipher.init(Cipher.DECRYPT_MODE, key);
byte[] decode = cipher.doFinal(encoding);
// return new String(decode).toCharArray();
return new String(decode).toString();
}
public static void main(String[] args) throws Exception{
String userName="root";
// String password="123456";
String string2=EnCodeTest.encode(userName);
System.out.println("JDE加密后:"+string2);
String string3=EnCodeTest.decode(string2);
System.out.println("解密后:"+string3);
}
}
import java.security.InvalidKeyException;
import java.security.NoSuchAlgorithmException;
import javax.crypto.BadPaddingException;
import javax.crypto.Cipher;
import javax.crypto.IllegalBlockSizeException;
import javax.crypto.NoSuchPaddingException;
import javax.crypto.spec.SecretKeySpec;
public class EnCodeTest {
private static String encode(String secret) throws NoSuchPaddingException,
NoSuchAlgorithmException, InvalidKeyException, BadPaddingException,
IllegalBlockSizeException {
byte[] kbytes = "jaas is the way".getBytes();
SecretKeySpec key = new SecretKeySpec(kbytes, "Blowfish");
Cipher cipher = Cipher.getInstance("Blowfish");
cipher.init(Cipher.ENCRYPT_MODE, key);
byte[] encoding = cipher.doFinal(secret.getBytes());
BigInteger n = new BigInteger(encoding);
return n.toString(16);
}
private static String decode(String secret) throws NoSuchPaddingException,
NoSuchAlgorithmException, InvalidKeyException, BadPaddingException,
IllegalBlockSizeException {
byte[] kbytes = "jaas is the way".getBytes();
SecretKeySpec key = new SecretKeySpec(kbytes, "Blowfish");
BigInteger n = new BigInteger(secret, 16);
byte[] encoding = n.toByteArray();
Cipher cipher = Cipher.getInstance("Blowfish");
cipher.init(Cipher.DECRYPT_MODE, key);
byte[] decode = cipher.doFinal(encoding);
// return new String(decode).toCharArray();
return new String(decode).toString();
}
public static void main(String[] args) throws Exception{
String userName="root";
// String password="123456";
String string2=EnCodeTest.encode(userName);
System.out.println("JDE加密后:"+string2);
String string3=EnCodeTest.decode(string2);
System.out.println("解密后:"+string3);
}
}
相关文章推荐
- VMware虚拟机与主机无法ping通的解决方案
- http://www.kwstu.com/ArticleView/kwstu_20144118313429
- POJ 2182【树状数组】
- 了解Runtime
- tableViewCell的不同高度创建
- AT&T汇编(linux内核学习必须掌握)
- nginx服务器安装及配置文件详解
- 《leetCode》:Ugly Number II
- [LeetCode]77. Reverse Linked List反转链表
- Spiral Matrix II
- 软件工程(C编码实践篇)学习总结
- [LeetCode]77. Reverse Linked List反转链表
- mysql 查看表状态信息和表定义
- 一些绕过waf的手段
- mysql 关联sql
- 并发工具
- MRC/ARC混编
- VMware 虚拟机的网络连接方式详解
- Unreal Engine 4 蓝图脚本学习 自定义材质与actor脚本绑定响应碰撞(1)
- 提供一个Android原生的Progress——SwipeToRefreshLayout下拉刷新时的等待动画