Android DES加密实现
2015-12-23 10:39
375 查看
private static final byte[] DESkey = { 39, 35, 96, 46, 10, 81, 111, 47 };// 设置密钥 private static final byte[] DESIV = { 15, 12, 107, 29, 11, 21, 114, 36 };// 设置向量 static AlgorithmParameterSpec iv = null;// 加密算法的参数接口,IvParameterSpec是它的一个实例 private static Key key = null; /** * 加密 * * @param data * @return * @throws Exception */ public static String encode(String data) throws Exception { init(DESkey, DESIV); Cipher enCipher = Cipher.getInstance("DES/CBC/PKCS5Padding");// 得到加密对象Cipher enCipher.init(Cipher.ENCRYPT_MODE, key, iv);// 设置工作模式为加密模式,给出密钥和向量 byte[] pasByte = enCipher.doFinal(data.getBytes("utf-8")); return Base64.encodeToString(pasByte, Base64.NO_WRAP); } private static void init(byte[] DESkey, byte[] DESIV) { DESKeySpec keySpec; try { keySpec = new DESKeySpec(DESkey);// 设置密钥参数 iv = new IvParameterSpec(DESIV);// 设置向量 SecretKeyFactory keyFactory = SecretKeyFactory.getInstance("DES");// 获得密钥工厂 key = keyFactory.generateSecret(keySpec);// 得到密钥对象 } catch (InvalidKeyException e) { e.printStackTrace(); } catch (NoSuchAlgorithmException e) { e.printStackTrace(); } catch (InvalidKeySpecException e) { e.printStackTrace(); } } /** * 解密 * * @param data * @return * @throws Exception */ public static String decode(String data) throws Exception { init(DESkey, DESIV); Cipher deCipher = Cipher.getInstance("DES/CBC/PKCS5Padding"); deCipher.init(Cipher.DECRYPT_MODE, key, iv); byte[] pasByte = deCipher.doFinal(Base64.decode(data, Base64.DEFAULT)); return new String(pasByte, "UTF-8"); }
相关文章推荐
- Android中的广播Broadcast详解
- Android 自定义软键盘
- tiny4412预装apk
- How to call Android contacts list?
- Android studio中cannot reload avd list问题解决
- 【Android】新版Android Studio 2.0 Preview 4 下载链接 百度网盘
- 简单Android倒计时实现
- 通知的基本使用方法
- Android View touch事件传递方式规律
- [置顶] Android selector设置详解
- android的锁屏解锁
- android状态栏一体化
- Android解析json数组对象的方法及Apply和数组的三个技巧
- Android各种访问权限Permission详解
- [置顶] Java、Android、IOS通用的加密解密方法
- dc学习之基于Android Studio的jni开发总结
- Android学习路线指南
- Android编程下拉菜单spinner用法小结(附2则示例)
- Android实现截屏并保存操作功能
- android 之控件篇