des加密解密数据
1、加密数据,返回string类型的数据:public static String encrypt(String data) { //对string进行BASE64Encoder转换 byte[] bt = encryptByKey(data.getBytes(), password); BASE64Encoder base64en = new BASE64Encoder(); String strs = new String(base64en.encode(bt)); return strs; }

3、加密:private static byte[] encryptB鲻戟缒男yKey(byte[] datasource, String key) { try{ SecureRandom random = new SecureRandom(); DESKeySpec desKey = new DESKeySpec(key.getBytes()); //创建一个密匙工厂,然后用它把DESKeySpec转换成 SecretKeyFactory keyFactory = SecretKeyFactory.getInstance("DES"); SecretKey securekey = keyFactory.generateSecret(desKey); //Cipher对象实际完成加密操作 Cipher cipher = Cipher.getInstance("DES"); //用密匙初始化Cipher对象 cipher.init(Cipher.ENCRYPT_MODE, securekey, random); //现在,获取数据并加密 //正式执行加密操作 return cipher.doFinal(datasource); }catch(Throwable e){ e.printStackTrace(); } return null; }

5、测试:private static String password = "9588888888880288"; //测试 public static void main(String args[]) { //待加密内容 String str = "12"; String result = DESUtil.encrypt(str); BASE64Encoder base64en = new BASE64Encoder();// String strs = new String(base64en.encode(result)); System.out.println("加密后:"+result); //直接将如上内容解密 try { String decryResult = DESUtil.decryptor(result); System.out.println("解密后:"+new String(decryResult)); } catch (Exception e1) { e1.printStackTrace(); } }
