Wenxue.comの最新のパラメーター暗号化アルゴリズム(Javaで実装)

	// 生成随机字符串
	private static String random(int size){
		String str = "";
		String arr[] = {"0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "n", "o", "p", "q", "r", "s", "t", "u", "v", "w", "x", "y", "z", "A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K", "L", "M", "N", "O", "P", "Q", "R", "S", "T", "U", "V", "W", "X", "Y", "Z"};
		for(int i=0; i<size; i++){
			str += arr[(int) Math.round(Math.random() * (arr.length-1))];
		}
		return str;
	}
	// 生成二进制参数
	private static String strTobinary(String str){
		StringBuffer strbuf = new StringBuffer();
		String list[] = str.split("");
		for(int i=0;i<list.length;i++){
			if(i != 0){
				strbuf.append(" ");
			}
			String item = list[i];
			String binaryStr = Integer.toBinaryString((int)(item.charAt(0)));
			strbuf.append(binaryStr);

		};
		return strbuf.toString();
	}
// main方法测试
	public static void main(String[] args) throws Exception{
		String salt =random(24);
		SimpleDateFormat ft = new SimpleDateFormat("yyyy-MM-dd");  
		Calendar cale = Calendar.getInstance();  
        int year = cale.get(Calendar.YEAR);  
        int month = cale.get(Calendar.MONTH) + 1;  
        int day = cale.get(Calendar.DATE);  
        
        String month_str = (month<10 ? "0"+month : month).toString();
        String day_str = (day<10 ? "0"+day : day).toString();
        String timestamp = cale.getTimeInMillis()+"";
        String iv =year+month_str+day_str;
        String enc = DES3Util.encode(salt,iv,timestamp).toString();
        String str = salt+iv+enc;
        System.out.println(salt);
        String ciphertext = strTobinary(str);
        System.out.println(ciphertext);
	}

バイナリパラメータを生成するバイナリパラメータ、プロテストは死んで書くことができます結果をリクエストする
des3復号化

おすすめ

転載: blog.csdn.net/ggl1438/article/details/100517102