java 的3DES解密和加密
2016-03-11 16:51
351 查看
/**
* 3des解密
*
* @param ss
* 要解密的数据
* @param deskey
* 生成密钥用的数组
* @return
* @throws NoSuchAlgorithmException
* @throws NoSuchPaddingException
* @throws InvalidKeyException
* @throws IllegalBlockSizeException
* @throws BadPaddingException
*/
public static byte[] DesDecode(byte[] ss, byte[] deskey)
throws NoSuchAlgorithmException, NoSuchPaddingException,
InvalidKeyException, IllegalBlockSizeException, BadPaddingException {
//负责完成加密或解密工
Cipher c = Cipher.getInstance(modeDes);
//格式化密
SecretKeySpec k = new SecretKeySpec(deskey, modeDesKey);
// 根据密钥,对Cipher对象进行初始ENCRYPT_MODE表示加密模式
c.init(Cipher.DECRYPT_MODE, k);
// 解密,结果保存进dec
byte[] dec = c.doFinal(ss);
return dec;
}
/**
* 3des加密
*
* @param ss
* 要加密的字符
* @param deskey
* @return
* @throws NoSuchAlgorithmException
* @throws NoSuchPaddingException
* @throws InvalidKeyException
* @throws IllegalBlockSizeException
* @throws BadPaddingException
* @throws UnsupportedEncodingException
*/
public static byte[] DesEncode(byte[] ss, byte[] deskey)
throws NoSuchAlgorithmException, NoSuchPaddingException,
InvalidKeyException, IllegalBlockSizeException, BadPaddingException {
//负责完成加密或解密工
Cipher c = Cipher.getInstance(modeDes);
//格式化密
SecretKeySpec k = new SecretKeySpec(deskey, modeDesKey);
// 根据密钥,对Cipher对象进行初始ENCRYPT_MODE表示加密模式
c.init(Cipher.ENCRYPT_MODE, k);
byte[] src = ss;
// 加密,结果保存进enc
byte[] enc = c.doFinal(ss);
return enc;
}
* 3des解密
*
* @param ss
* 要解密的数据
* @param deskey
* 生成密钥用的数组
* @return
* @throws NoSuchAlgorithmException
* @throws NoSuchPaddingException
* @throws InvalidKeyException
* @throws IllegalBlockSizeException
* @throws BadPaddingException
*/
public static byte[] DesDecode(byte[] ss, byte[] deskey)
throws NoSuchAlgorithmException, NoSuchPaddingException,
InvalidKeyException, IllegalBlockSizeException, BadPaddingException {
//负责完成加密或解密工
Cipher c = Cipher.getInstance(modeDes);
//格式化密
SecretKeySpec k = new SecretKeySpec(deskey, modeDesKey);
// 根据密钥,对Cipher对象进行初始ENCRYPT_MODE表示加密模式
c.init(Cipher.DECRYPT_MODE, k);
// 解密,结果保存进dec
byte[] dec = c.doFinal(ss);
return dec;
}
/**
* 3des加密
*
* @param ss
* 要加密的字符
* @param deskey
* @return
* @throws NoSuchAlgorithmException
* @throws NoSuchPaddingException
* @throws InvalidKeyException
* @throws IllegalBlockSizeException
* @throws BadPaddingException
* @throws UnsupportedEncodingException
*/
public static byte[] DesEncode(byte[] ss, byte[] deskey)
throws NoSuchAlgorithmException, NoSuchPaddingException,
InvalidKeyException, IllegalBlockSizeException, BadPaddingException {
//负责完成加密或解密工
Cipher c = Cipher.getInstance(modeDes);
//格式化密
SecretKeySpec k = new SecretKeySpec(deskey, modeDesKey);
// 根据密钥,对Cipher对象进行初始ENCRYPT_MODE表示加密模式
c.init(Cipher.ENCRYPT_MODE, k);
byte[] src = ss;
// 加密,结果保存进enc
byte[] enc = c.doFinal(ss);
return enc;
}
相关文章推荐
- java对世界各个时区(TimeZone)的通用转换处理方法(转载)
- java-注解annotation
- java-模拟tomcat服务器
- java-用HttpURLConnection发送Http请求.
- java-WEB中的监听器Lisener
- Android IPC进程间通讯机制
- Android Native 绘图方法
- Android java 与 javascript互访(相互调用)的方法例子
- 介绍一款信息管理系统的开源框架---jeecg
- 聚类算法之kmeans算法java版本
- java实现 PageRank算法
- PropertyChangeListener简单理解
- c++11 + SDL2 + ffmpeg +OpenAL + java = Android播放器
- 插入排序
- 冒泡排序
- 堆排序
- 快速排序
- 二叉查找树