怎么把字节数组转换成16进制字符串以及怎么把16进制字符串转换成数组

hemin 2006-11-13 03:25:57
怎么把字节数组转换成16进制字符串以及怎么把16进制字符串转换成数组
...全文
423 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
hbwhwang 2006-11-13
  • 打赏
  • 举报
回复
public static String encrypt(String key,String originalText){
SecretKey deskey = new SecretKeySpec(Hex.decode(key), "DESede");
byte[] b=originalText.getBytes();
if (b.length%8!=0){
byte[] temp=new byte[b.length/8*8+8];
System.arraycopy(b, 0, temp, 0, b.length);
b=temp;
}

try{
Cipher c1 = Cipher.getInstance("DESEDE/ECB/NoPadding", "BC");
c1.init(Cipher.ENCRYPT_MODE, deskey);
b=c1.doFinal(b);
}catch (Exception e){
e.printStackTrace();
b=null;
}

if (b!=null){
return new String(Hex.encode(b));
}

return null;
}
hbwhwang 2006-11-13
  • 打赏
  • 举报
回复
public static String decrypt(String key,String encryptText){
SecretKey deskey = new SecretKeySpec(Hex.decode(key), "DESede");
byte[] decryptByte=null;
try{
Cipher c1 = Cipher.getInstance("DESEDE/ECB/NoPadding", "BC");
c1.init(Cipher.DECRYPT_MODE, deskey);
decryptByte=c1.doFinal(Hex.decode(encryptText));
int pos=0;
for (int i=decryptByte.length-1;i>=0;i--){
if (decryptByte[i]!=0){
pos=i+1;
break;
}
}
byte[] temp=new byte[pos];
System.arraycopy(decryptByte, 0, temp, 0, pos);
decryptByte=temp;
}catch (Exception e){
e.printStackTrace();
}
if (decryptByte==null){
return null;
}else{
return new String(decryptByte);
}
}

50,527

社区成员

发帖
与我相关
我的任务
社区描述
Java相关技术讨论
javaspring bootspring cloud 技术论坛(原bbs)
社区管理员
  • Java相关社区
  • 小虚竹
  • 谙忆
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧