3DESECB 加密&解密
2016-06-08 16:42
423 查看
3DESECB加密,key必须是长度大于等于 3*8 = 24 位
3DESECB解密,key必须是长度大于等于 3*8 = 24 位
public static String encryptThreeDESECB(String src, String key) { try { DESedeKeySpec dks = new DESedeKeySpec(key.getBytes("UTF-8")); SecretKeyFactory keyFactory = SecretKeyFactory.getInstance("DESede"); SecretKey securekey = keyFactory.generateSecret(dks); Cipher cipher = Cipher.getInstance("DESede/ECB/PKCS5Padding"); cipher.init(Cipher.ENCRYPT_MODE, securekey); byte[] b = cipher.doFinal(src.getBytes("UTF-8")); BASE64Encoder encoder = new BASE64Encoder(); return encoder.encode(b).replaceAll("\r", "").replaceAll("\n", ""); }catch (Exception e){ e.printStackTrace(); return src; } }
3DESECB解密,key必须是长度大于等于 3*8 = 24 位
public static String decryptThreeDESECB(String src, String key) { try { //--通过base64,将字符串转成byte数组 BASE64Decoder decoder = new BASE64Decoder(); byte[] bytesrc = decoder.decodeBuffer(src); //--解密的key DESedeKeySpec dks = new DESedeKeySpec(key.getBytes("UTF-8")); SecretKeyFactory keyFactory = SecretKeyFactory.getInstance("DESede"); SecretKey securekey = keyFactory.generateSecret(dks); //--Chipher对象解密 Cipher cipher = Cipher.getInstance("DESede/ECB/PKCS5Padding"); cipher.init(Cipher.DECRYPT_MODE, securekey); byte[] retByte = cipher.doFinal(bytesrc); return new String(retByte); } catch (Exception e) { e.printStackTrace(); return src; } }
相关文章推荐
- Android Canvas绘图详解(图文)
- Android验证码时间倒计时
- /proc/sys/ 下内核参数解析
- bootstrap 小点
- android sun.misc.BASE64Encoder sun.misc.BASE64Decoder 找不到jar包
- ArcGIS10.2中文版安装和破解教程
- Android 视频直播
- nginx不记录指定文件类型日志
- java基础--面向对象
- Java搜索工具——Lucene实例总结(一)
- AWS RDS MySQL 从外部 数据库同步数据到RDS slave环境搭建
- ELKstack-基于java工程tomcat应用日志处理过程-02
- ELKstack-基于java工程tomcat应用日志处理过程-02
- 打开xcworkspace左边的Xcodeproj为红色
- maven jar包下载
- ArcGIS10.2中文版安装和破解教程
- ios开发经典语录锦集
- AMDU-00210: No disks found in diskgroup DATA2
- liunx下绿色版Tomcat安装
- GPS定位详解