【Des加密解密怎么把字节数组和String相互转化 _md5/des 】 | IT修真院·坑乎
咨询电话 : 010-59478634
切换导航
首页
我的提问
我的回答
我的点赞
消息通知
个人主页
×
提示
尚未登陆,前往官网登陆?
×
提示
尚未登陆,前往官网登陆?
Des加密解密怎么把字节数组和String相互转化
我也踩过这个坑(
1
)
已统计您的踩坑,无需重复点击
回答(1)
md5/des
详细描述
在Des加密的时候,怎么把字节数组和String相互转化,实现输入String,输出也是String的加密和解密
错误截图
如图,DES的加密解密对象是字节数组,加密解密结果也是字节数组。怎么样让加密解密对象变成String,结果也变成Sting;这样的话在生成工具类使用的时候要方便不少。
源码
/** * 加密 * @param datasource byte[] * @param password String * @return byte[] */ public static byte[] encrypt(byte[] datasource, String password) { try{ SecureRandom random = new SecureRandom(); DESKeySpec desKey = new DESKeySpec(password.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; } /** * 解密 * @param src byte[] * @param password String * @return byte[] * @throws Exception */ public static byte[] decrypt(byte[] src, String password) throws Exception { // DES算法要求有一个可信任的随机数源 SecureRandom random = new SecureRandom(); // 创建一个DESKeySpec对象 DESKeySpec desKey = new DESKeySpec(password.getBytes()); // 创建一个密匙工厂 SecretKeyFactory keyFactory = SecretKeyFactory.getInstance("DES"); // 将DESKeySpec对象转换成SecretKey对象 SecretKey securekey = keyFactory.generateSecret(desKey); // Cipher对象实际完成解密操作 Cipher cipher = Cipher.getInstance("DES"); // 用密匙初始化Cipher对象 cipher.init(Cipher.DECRYPT_MODE, securekey, random); // 真正开始解密操作 return cipher.doFinal(src); }
编辑于2024-11-18
时间排序
热门排序
[郑州|荣耀师兄]JAVA-王耀琪
0
String转byte[ ]
byte
[] b = s.getBytes()
;
byte[ ]转String
String s=
new
String(b)
;
查看全部>
编辑于2018-10-05
首页
1
末页
去第
页
确定
Copyright ©2015 北京葡萄藤信息技术有限公司 All Rights Reserved | 京ICP备15035574号-1
复制链接
新浪微博
微信扫一扫
1529
0
10
Des加密解密怎么把字节数组和String相互转化
1
1