简单的密码DES加密解密

合集下载
相关主题
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
/** * 加密以 byte[]明文输入,byte[]密文输出 */ private byte[] getEnDesCode(byte[] myByte) {
byte[] finalByte = null; Cipher cipher = null; try {
cipher = Cipher.getInstance("DES");// 返回实现指定转换的 Cipher 对象
/** * 解密 */ public String decrypt(String strPassword) {
BASE64Decoder decoder = new BASE64Decoder(); // if (strPassword.trim().length() <= 0) { // return ""; // } this.setKey("pifengpifeng");// 根据参数生成 KEY try {
import javax.crypto.BadPaddingException; import javax.crypto.Cipher; import javax.crypto.IllegalBlockSizeException; import javax.crypto.KeyGenerator; import javax.crypto.NoSuchPaddingException;
/** * 根据参数生成 KEY */ private void setKey(String strKey) {
KeyGenerator keyGenerator = null; try {
// 返回生成指定算法的秘密密钥的 KeyGenerator 对象 keyGenerator = KeyGenerator.getInstance("DES"); keyGenerator.init(new SecureRandom(strKey.getBytes()));// 初始化此密钥生成器 this.key = keyGenerator.generateKey();// 生成一个密钥 } catch (NoSuchAlgorithmException e) { e.printStackTrace(); } finally { keyGenerator = null; } }
BASE64Encoder encoder = new BASE64Encoder(); this.setKey("pifengpifeng");// 根据参数生成 KEY try {
// 使用指定的字符集将此 String 编码为 byte 序列 this.cleartextPwd = strPassword.getBytes("UTF-8"); // 加密以 byte[]明文输入,byte[]密文输出 this.encryptionPwd = this.getEnDesCode(this.cleartextPwd); // 编码 this.encryptionPassword = encoder.encode(this.encryptionPwd); } catch (UnsupportedEncodingException e) { e.printStackTrace(); } finally { encoder = null; this.cleartextPwd = null; this.encryptionPwd = null; } return this.encryptionPassword; }
} catch (InvalidKeyException e) { e.printStackTrace();
} catch (IllegalBlockSizeException e) { e.printStackTrace();
} catch (BadPaddingException e) { e.printStackTrace();
} }
Βιβλιοθήκη Baidu
} catch (BadPaddingException e) { e.printStackTrace();
} finally { cipher = null;
} return finalByte; }
/** * 解密以 byte[]密文输入,byte[]明文输出 */ private byte[] getDeDesCode(byte[] myByte) {
finalByte = cipher.doFinal(myByte);// 按单部分操作加密或解 密数据,或者结束一个多部分操作
} catch (NoSuchAlgorithmException e) { e.printStackTrace();
} catch (NoSuchPaddingException e) { e.printStackTrace();
byte[] finalByte = null; Cipher cipher = null; try {
cipher = Cipher.getInstance("DES");// 返回实现指定转换的 Cipher 对象
cipher.init(Cipher.DECRYPT_MODE, this.key);// 用密钥初始 化此 Cipher
☺ 复制可用
简单的密码 DES 加密解密
package com.pifeng.util;
import java.io.IOException; import java.io.UnsupportedEncodingException; import java.security.InvalidKeyException; import java.security.Key; import java.security.NoSuchAlgorithmException; import java.security.SecureRandom;
private String encryptionPassword;// 加密密码 private byte[] cleartextPwd;// 明文密码 private byte[] encryptionPwd;// 加密密码
/** * 加密 */ public String encrypt(String strPassword) {
cipher.init(Cipher.ENCRYPT_MODE, this.key);// 用密钥初始 化此 Cipher
finalByte = cipher.doFinal(myByte);// 按单部分操作加密或解 密数据,或者结束一个多部分操作
} catch (NoSuchAlgorithmException e) { e.printStackTrace();
import sun.misc.BASE64Decoder; import sun.misc.BASE64Encoder;
/** * * @author 皮锋 使用 DES 加密与解密 * */ public class EncryptionAndDecryption {
private Key key;// 秘钥 private String cleartextPasswords;// 明文密码
// 解码 this.encryptionPwd = decoder.decodeBuffer(strPassword); // 解密以 byte[]密文输入,byte[]明文输出 this.cleartextPwd = this.getDeDesCode(this.encryptionPwd); // 设置编码,转成 String this.cleartextPasswords = new String(cleartextPwd, "UTF-8"); } catch (UnsupportedEncodingException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } finally { decoder = null; this.cleartextPwd = null; this.encryptionPwd = null; } return this.cleartextPasswords; }
} catch (NoSuchPaddingException e) { e.printStackTrace();
} catch (InvalidKeyException e) { e.printStackTrace();
} catch (IllegalBlockSizeException e) { e.printStackTrace();
} finally { cipher = null;
} return finalByte; }
public static void main(String[] args) { EncryptionAndDecryption aa = new EncryptionAndDecryption(); String password = "皮锋皮锋皮锋";// 密码 String encryptPwd = aa.encrypt(password);// 加密 System.out.println(encryptPwd); String decryptPwd = aa.decrypt(encryptPwd);// 解密 System.out.println(decryptPwd);
相关文档
最新文档