日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 人文社科 > 生活经验 >内容正文

生活经验

des vue 双倍长 解密_3DES双倍长加密 - osc_ojx9hm4t的个人空间 - OSCHINA - 中文开源技术交流社区...

發布時間:2023/11/27 生活经验 32 豆豆
生活随笔 收集整理的這篇文章主要介紹了 des vue 双倍长 解密_3DES双倍长加密 - osc_ojx9hm4t的个人空间 - OSCHINA - 中文开源技术交流社区... 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

importjava.security.SecureRandom;importjavax.crypto.Cipher;importjavax.crypto.SecretKey;importjavax.crypto.SecretKeyFactory;importjavax.crypto.spec.DESKeySpec;

//結果與DES算法工具一致public classDES{public static voidmain(String[] args) {

String key= "F2C04AD9F598EE61C424C9C7D39BA75F";

String data= "06321643FF8B67EB";

String des=encryptECB3Des(key,data);

System.out.println(des);

}public staticString encryptECB3Des(String key, String src) {

System.out.println("encryptECB3Des->" + "key:" +key);

System.out.println("encryptECB3Des->" + "src:" +src);int len =key.length();if (key == null || src == null) {return null;

}if (src.length() % 16 != 0) {return null;

}if (len == 32) {

String outData= "";

String str= "";for (int i = 0; i < src.length() / 16; i++) {

str= src.substring(i * 16, (i + 1) * 16);

outData+=encECB3Des(key, str);

}returnoutData;

}return null;

}public staticString encECB3Des(String key, String src) {byte[] temp = null;byte[] temp1 = null;

temp1= encryptDes(hexStringToBytes(key.substring(0, 16)), hexStringToBytes(src));

temp= decryptDes(hexStringToBytes(key.substring(16, 32)), temp1);

temp1= encryptDes(hexStringToBytes(key.substring(0, 16)), temp);returnbytesToHexString(temp1);

}public staticString decECB3Des(String key, String src) {byte[] temp2 = decryptDes(hexStringToBytes(key.substring(0, 16)), hexStringToBytes(src));byte[] temp1 = encryptDes(hexStringToBytes(key.substring(16, 32)), temp2);byte[] dest = decryptDes(hexStringToBytes(key.substring(0, 16)), temp1);returnbytesToHexString(dest);

}public static String bytesToHexString(byte[] src) {

StringBuilder stringBuilder= new StringBuilder("");if (src == null || src.length <= 0) {return null;

}for (int i = 0; i < src.length; i++) {int v = src[i] & 0xFF;

String hv=Integer.toHexString(v);if (hv.length() < 2) {

stringBuilder.append(0);

}

stringBuilder.append(hv);

}returnstringBuilder.toString();

}public static byte[] hexStringToBytes(String hexString) {if (hexString == null || hexString.equals("")) {return null;

}

hexString=hexString.toUpperCase();int length = hexString.length() / 2;char[] hexChars =hexString.toCharArray();byte[] d = new byte[length];for (int i = 0; i < length; i++) {int pos = i * 2;

d[i]= (byte) (charToByte(hexChars[pos]) << 4 | charToByte(hexChars[pos + 1]));

}returnd;

}private static byte charToByte(charc) {return (byte) "0123456789ABCDEF".indexOf(c);

}/*** 3DES(雙倍長) 解密

*

*@paramkeybyte

*@paramsrc

*@return

*/

public staticString decryptECB3Des(String key, String src) {if (key == null || src == null) {return null;

}if (src.length() % 16 != 0) {return null;

}if (key.length() == 32) {

String outData= "";

String str= "";for (int i = 0; i < src.length() / 16; i++) {

str= src.substring(i * 16, (i + 1) * 16);

outData+=decECB3Des(key, str);

}returnoutData;

}return null;

}/*** DES加密

**/

public static byte[] encryptDes(byte[] key, byte[] src) {try{//創建一個DESKeySpec對象

DESKeySpec desKey = newDESKeySpec(key);//創建一個密匙工廠

SecretKeyFactory keyFactory = SecretKeyFactory.getInstance("DES");//將DESKeySpec對象轉換成SecretKey對象

SecretKey secretKey =keyFactory.generateSecret(desKey);//Cipher對象實際完成解密操作

Cipher cipher = Cipher.getInstance("DES/ECB/NoPadding");//用密匙初始化Cipher對象

cipher.init(Cipher.ENCRYPT_MODE, secretKey);//現在,獲取數據并加密//正式執行加密操作

returncipher.doFinal(src);

}catch(Exception e) {

e.printStackTrace();

}return null;

}/*** des解密

*

*@paramkey

*@paramsrc

*@return

*/

public static byte[] decryptDes(byte[] key, byte[] src) {try{//DES算法要求有一個可信任的隨機數源

SecureRandom random = newSecureRandom();//創建一個DESKeySpec對象

DESKeySpec desKey = newDESKeySpec(key);//創建一個密匙工廠

SecretKeyFactory keyFactory = SecretKeyFactory.getInstance("DES");//將DESKeySpec對象轉換成SecretKey對象

SecretKey secretKey =keyFactory.generateSecret(desKey);//Cipher對象實際完成解密操作

Cipher cipher = Cipher.getInstance("DES/ECB/NoPadding");//用密匙初始化Cipher對象

cipher.init(Cipher.DECRYPT_MODE, secretKey, random);//現在,獲取數據并加密//正式執行加密操作

returncipher.doFinal(src);

}catch(Exception e) {

e.printStackTrace();

}return null;

}

}

總結

以上是生活随笔為你收集整理的des vue 双倍长 解密_3DES双倍长加密 - osc_ojx9hm4t的个人空间 - OSCHINA - 中文开源技术交流社区...的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 国产综合在线观看视频 | 国产免费一区二区三区免费视频 | 成人在线免费看视频 | 亚洲福利久久 | 天天插综合 | 全部孕妇毛片 | 99久久精品免费看国产交换 | 亚洲图片自拍偷拍 | 国内一区二区视频 | 亚洲精品久久久久 | 嫩草影院在线免费观看 | 午夜久久久久久久久久影院 | 亚洲美女一级片 | 少妇av一区二区 | 国产高中女学生第一次 | 久久av在线 | 午夜亚洲精品 | 亚洲欧洲在线观看 | 波多野结衣电车痴汉 | 国产精品免费电影 | 黄色av国产 | 天天夜夜骑 | 久久精品2019中文字幕 | 欧美xxxⅹ性欧美大片 | 亚洲第一福利网站 | 明星毛片 | 国产精品美女在线观看 | 中文字幕av网址 | 国产天堂 | 中文字幕乱码中文乱码777 | 色欲狠狠躁天天躁无码中文字幕 | 熟女人妻aⅴ一区二区三区60路 | 天堂综合| 91成人在线观看高潮 | 白洁av| 在线播放亚洲精品 | 成人免费视频观看视频 | 40到50岁中老年妇女毛片 | 久久精品视频在线免费观看 | 久久精品视频2 | 激情午夜影院 | 日韩高清一级片 | 少妇人妻丰满做爰xxx | 久久97精品久久久久久久不卡 | 污视频在线 | 99免费观看| 久青草视频 | 无码一区二区波多野结衣播放搜索 | 日本精品视频在线 | 2018自拍偷拍 | 欧美肉大捧一进一出免费视频 | 免费a在线 | gogo人体做爰aaaa | 色狠狠久久av大岛优香 | 久久久久久久久久综合 | 欧美三级在线观看视频 | 日本福利一区二区 | 中文字幕精品在线 | 久久99亚洲精品 | 午夜理伦三级做爰电影 | 久久精品国产精品亚洲毛片 | 国产偷v| 久久久久久久久久久久久久久久久 | 欧美激情精品久久久久久蜜臀 | 婷婷激情综合 | 四虎网址在线 | 在线观看欧美国产 | 成人免费三级 | 毛片黄片免费看 | 免费淫片 | 日韩少妇av | 无码国产精品一区二区免费式直播 | 亚洲男人影院 | 国产精品二区一区二区aⅴ 一卡二卡三卡在线观看 | 尤果网福利视频在线观看 | 欧美日韩国产第一页 | 精品国产一级 | 少妇人禽zoz0伦视频 | 熟女毛片| 激情图片在线观看 | 午夜天堂网 | 精品国产乱码久久久久久鸭王1 | 日韩一卡二卡三卡四卡 | 国产精品成人久久久 | 国产精品成人va在线观看 | www.热久久| 黄色一级大片在线免费看国产 | 一级特黄妇女高潮2 | 色噜噜在线播放 | 同心兄弟 | 亚洲男人在线天堂 | 成人免费网站在线 | 日韩夜夜 | 成人91av| a级免费视频 | 9191久久| 亚洲超碰在线 | 久久久精品人妻一区二区三区色秀 | 亚洲精品资源在线 |