亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? rijndaeltest.java

?? 這個RIJNDAEL的算法是用來產生密文序列JAVA算法
?? JAVA
?? 第 1 頁 / 共 2 頁
字號:


import javax.swing.*;

import java.awt.*;
import java.awt.event.*;
import java.util.*;
import java.io.*;


public class RijndaelTest
{
	public static void main(String[] args)
	{
		RijndaelFrame RF=new RijndaelFrame();
		RF.setTitle("RijndaelTest");
		RF.setVisible(true);
		RF.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
	}

}
class RijndaelFrame extends JFrame
{
	private static int DEFAULT_WIDTH=600;
	private static int DEFAULT_HEIGHT=450;
	private static int DEFAULT_TOP=80;
	private static int DEFAULT_LEFT=75;
	final JTextArea ta1=new JTextArea(30,20);
	final JTextArea ta2=new JTextArea(30,20);
	final JTextField keyfield=new JTextField(32);
	

	int keylen=8;
	
	int[] reout=new int[16];
	int[] deout=new int[16];
	int[] key={0x2b,0x7e,0x15,0x16,0x28,0xae,0xd2,0xa6,0xab,0xf7,0x15,0x88,0x09,0xcf,0x4f,0x3c};
	int[] keyexpl4={0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0a,0x0b,0x0c,0x0d,0x0e,0x0f};
	//int[] key6={0x8e,0x73,0xb0,0xf7,0xda,0x0e,0x64,0x52,0xc8,0x10,0xf3,0x2b,0x80,0x90,0x79,0xe5,0x62,0xf8,0xea,0xd2,0x52,0x2c,0x6b,0x7b};
	//int[] key8={0x60,0x3d,0xeb,0x10,0x15,0xca,0x71,0xbe,0x2b,0x73,0xae,0xf0,0x85,0x7d,0x77,0x81,
			    //0x1f,0x35,0x2c,0x07,0x3b,0x61,0x08,0xd7,0x2d,0x98,0x10,0xa3,0x09,0x14,0xdf,0xf4};
    int[] input={0x32,0x43,0xf6,0xa8,0x88,0x5a,0x30,0x8d,0x31,0x31,0x98,0xa2,0xe0,0x37,0x07,0x34};
    int[] inputexpl={0x00,0x11,0x22,0x33,0x44,0x55,0x66,0x77,0x88,0x99,0xaa,0xbb,0xcc,0xdd,0xee,0xff};
    
    int[] keyexpl6={0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0a,0x0b,0x0c,0x0d,0x0e,0x0f,0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17};
    int[] keyexpl8={0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0a,0x0b,0x0c,0x0d,0x0e,0x0f,
    		        0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17,0x18,0x19,0x1a,0x1b,0x1c,0x1d,0x1e,0x1f};
	public RijndaelFrame()
	{
		setSize(DEFAULT_WIDTH,DEFAULT_HEIGHT);
		setLocation(DEFAULT_LEFT,DEFAULT_TOP);
	
		final int[] keys=new int[4*keylen];
		JLabel label1=new JLabel("INPUT");
		JLabel label2=new JLabel("OUTPUT");
		final JTextField tipmsg=new JTextField(20);
		tipmsg.setBackground(Color.red);
		tipmsg.enable(false);
		JPanel p=new JPanel();
		p.add(label1);
		p.add(tipmsg);
		p.add(label2);
		//p.setLayout(new GridLayout(1,2));
		add(p,BorderLayout.NORTH);
		
		ta1.setBackground(Color.green);
		
		ta2.setBackground(Color.orange);
		
		JScrollPane pane1=new JScrollPane(ta1);
		JScrollPane pane2=new JScrollPane(ta2);
		JPanel panel1=new JPanel();
		panel1.add(pane1);
		panel1.add(pane2);
		add(panel1,BorderLayout.CENTER);
		
		JButton Encrypt,Decrypt,二次加密,demostrate,clear_all,二次解密,write;
		JPanel panel=new JPanel();
		Encrypt=new JButton("Encrypt");
		Decrypt=new JButton("Decrypt");
		二次加密=new JButton("二次加密");
		demostrate=new JButton("demostrate");
		clear_all=new JButton("clear all ");
		二次解密=new JButton("二次解密");
		write=new JButton("write");
		
		write.addActionListener(new ActionListener()
		{
			public void actionPerformed(ActionEvent e) 
			{
				//File f=new File("rijndael.dat");
				
				//for(int i=0;i<200;i++)
				////String str="";
					
			///	    reout=encipher(reout,keyexp.keysched(keys,keylen));
					/*for(int j=0;j<reout.length;j++)
			         {
			        	 String temp1="";
				        	
			        	 //temp1=Integer.toHexString(out[j][i]);
			             //if(out[j][i]<16)
			     		 //str=str+"0";
			        	 temp1=Integer.toBinaryString(reout[j]);
			        	 if(reout[j]<128&&reout[j]>=64)
			     		     str=str+"0";
			        	 if(reout[j]<64&&reout[j]>=32)
			         		 str=str+"00";
			        	 if(reout[j]<32&&reout[j]>=16)
			         		 str=str+"000";
			        	 if(reout[j]<16&&reout[j]>=8)
			         		 str=str+"0000";
			        	 if(reout[j]<8&&reout[j]>=4)
			         		 str=str+"00000";
			        	 if(reout[j]<4&&reout[j]>=2)
			         		 str=str+"000000";
			        	 if(reout[j]<2)
			         		 str=str+"0000000";
				         str=str+temp1;
				         
			         }
					try{
						FileWriter fos=new FileWriter(f,true);
						fos.write(str);
						fos.flush();
						}
						catch(Exception ex)
						{
							
						}*/
				//}
				String strout="";
				double lon=power(2,64)-1;
				for(int k=0;k<100;k++)
				{	
				reout=encipher(reout,keyexp.keysched(keys,keylen));
				double lon1=0.0,lon2=0.0;
				//String str=ta2.getText()+"\n";
				String str="";
				for(int j=0;j<16;j++)
				{
					String temp1="";
					temp1=Integer.toBinaryString(reout[j]);
		        	 if(reout[j]<128&&reout[j]>=64)
		     		     str=str+"0";
		        	 if(reout[j]<64&&reout[j]>=32)
		         		 str=str+"00";
		        	 if(reout[j]<32&&reout[j]>=16)
		         		 str=str+"000";
		        	 if(reout[j]<16&&reout[j]>=8)
		         		 str=str+"0000";
		        	 if(reout[j]<8&&reout[j]>=4)
		         		 str=str+"00000";
		        	 if(reout[j]<4&&reout[j]>=2)
		         		 str=str+"000000";
		        	 if(reout[j]<2)
		         		 str=str+"0000000";
			         str=str+temp1;	 
				}
				//ta2.setText(str);
				for(int i=63;i>=0;i--)
				{
					lon1=lon1+((int)str.charAt(i)-(int)'0')*power(2,i);
				}
				for(int i=127;i>=64;i--)
				{
					lon2=lon2+((int)str.charAt(i)-(int)'0')*power(2,i-64);
				}
				Double Lon1=new Double((double)lon1/lon);
				Double Lon2=new Double((double)lon2/lon);
				//ta2.setText(ta2.getText()+"\n"+Loni.toString());
				strout=strout+Lon1.toString()/*+"\n"+Lon2.toString()*/+"\n";
				}
				ta2.setText(strout);
				
			}
		});
		
		clear_all.addActionListener(new ActionListener()
		{
			public void actionPerformed(ActionEvent e)
			{
				tipmsg.setText("");
				ta1.setText("");
				ta2.setText("");
				keyfield.setText("");
			}
		});
		
		demostrate.addActionListener(new ActionListener()
		{
			public void actionPerformed(ActionEvent e)
			{
				String str=null,str2=null;
				int[] tempkey=keyexpl4;
				switch(keylen)
				{
				case 4:tempkey=keyexpl4;
				break;
				case 6:tempkey=keyexpl6;
				break;
				case 8:tempkey=keyexpl8;
				break;
				default:
					break;
				}
				for(int i=0;i<16;i++)
				str=str+" "+Integer.toHexString(inputexpl[i]);
				for(int i=0;i<tempkey.length;i++)
					str2=str2+" "+Integer.toHexString(tempkey[i]);
				//System.out.println(str.length());
				str=str.substring(4,str.length());
				str2=str2.substring(4,str2.length());
				ta1.setText(str);
				keyfield.setText(str2);
				reout=encipher(inputexpl,keyexp.keysched(tempkey,keylen));
				print(reout);
				//reout=encipher(input,keyexp.keysched(key,4));
			}
		});
		
		二次加密.addActionListener(new ActionListener()
		{
			public void actionPerformed(ActionEvent e)
			{
				if(0==keyfield.getText().length())
					tipmsg.setText("please encipher first");
				else
					{
					reout=encipher(reout,keyexp.keysched(keys,keylen));
					print(reout);
					}
			}
		});
		二次解密.addActionListener(new ActionListener()
		{
			public void actionPerformed(ActionEvent e)
			{
				if(0==keyfield.getText().length())
					tipmsg.setText("please encipher first");
				else
					{
					reout=decipher(reout,keyexp.keysched(keys,keylen));
					print(reout);
					}
				
			}
		});
		Decrypt.addActionListener(new ActionListener()
		{
			public void actionPerformed(ActionEvent e)
			{
				
               // int[] deput={0x39,0x25,0x84,0x1d,0x02,0xdc,0x09,0xfb,0xdc,0x11,0x85,0x97,0x19,0x6a,0x0b,0x32};
				//reout=decipher(deput,keyexp.keysched(key,4));
                char[] keychar=keyfield.getText().toCharArray();
			    for(int i=0;i<keychar.length;i++)
					keys[i]=(int)keychar[i];
			    
				if(0==ta1.getText().length())
					tipmsg.setText("please enter INPUT");
				else if(0==keyfield.getText().length())
					tipmsg.setText("please enter keys");
				else
				{
				
					char[] plaintext=ta1.getText().toCharArray();
					int textlength=(plaintext.length/16+1)*16;
					
					int[] input1=new int[textlength];
					int i=0;
					for(i=0;i<plaintext.length;i++)
					{
					   input1[i%16]=(int)plaintext[i];
					   if(15==i%16)
					    {
						   reout=decipher(input1,keyexp.keysched(keys,keylen));
						   print(reout);
						   for(int k=0;k<16;k++)
							   input1[k]=0;
					    }
					}
					if(0!=i%16)
						reout=decipher(input1,keyexp.keysched(keys,keylen));
					print(reout);
				    
				}
			}
		});
		Encrypt.addActionListener(new ActionListener()
		{
			public void actionPerformed(ActionEvent e)
			{
				char[] keychar=keyfield.getText().toCharArray();
				//for(int i=0;i<keychar.length;i++)
					//keys[i]=(int)keychar[i];
				//int[] keyHex=toHex(keychar);
				
				if(0==ta1.getText().length())
					tipmsg.setText("please enter INPUT");
				else if(0==keyfield.getText().length())
					tipmsg.setText("please enter keys");
				else
				{
				char[] plaintext=ta1.getText().toCharArray();
				//int[] inputHex=toHex(plaintext);
				int textlength=(plaintext.length/16+1)*16;
				
				int[] input1=new int[textlength];
				int i=0;
				for(i=0;i<plaintext.length;i++)
				{
				   input1[i%16]=(int)plaintext[i];
				   if(15==i%16)
				    {
					   reout=encipher(input,keyexp.keysched(key,keylen));
					   print(reout);
					   for(int k=0;k<16;k++)
						   input1[k]=0;
				    }
				}
				if(0!=i%16)
					reout=encipher(input,keyexp.keysched(key,keylen));
				print(reout);
				}
			   // reout=encipher(input,keyexp.keysched(key,4));
				
				
				
			}
		});
		
		JLabel lab=new JLabel("enter keyword");
		final JComboBox keycomboBox=new JComboBox();
		keycomboBox.addActionListener(new ActionListener()
		{
			public void actionPerformed(ActionEvent e)
			{
				String str=(String)keycomboBox.getSelectedItem();
				if(str.equals("128"))
						keylen=4;
				else if(str.equals("192"))
					keylen=6;
				else if(str.equals("256"))
					keylen=8;
			}
		});
		keycomboBox.addItem("128");
		keycomboBox.addItem("192");
		keycomboBox.addItem("256");
		//panel.add(btn1);
		panel.add(lab);
		panel.add(keycomboBox);
		panel.add(keyfield);
		//panel.add(btn2);
		//panel.add(btn3);
		JPanel panl=new JPanel();
		panl.setLayout(new GridLayout(7,1,20,30));
		panl.add(Encrypt);
		panl.add(Decrypt);
		panl.add(二次加密);
		panl.add(二次解密);
		panl.add(demostrate);
		panl.add(clear_all);
		panl.add(write);
		///panel.setLayout(new GridLayout(1,4));
		add(panel,BorderLayout.SOUTH);
		add(panl,BorderLayout.EAST);
		pack();
		
		
	}
	
	
	
	void print(int[] out) 
	{
		String str=ta2.getText();
		for(int i=0;i<out.length;i++)
	
         for(int j=0;j<out.length;j++)
         {
        	 String temp1="";
	        	
        	 //temp1=Integer.toHexString(out[j][i]);
             //if(out[j][i]<16)
     		 //str=str+"0";
        	 temp1=Integer.toBinaryString(out[j]);
        	 if(out[j]<128&&out[j]>=64)
     		     str=str+"0";
        	 if(out[j]<64&&out[j]>=32)
         		 str=str+"00";
        	 if(out[j]<32&&out[j]>=16)
         		 str=str+"000";
        	 if(out[j]<16&&out[j]>=8)
         		 str=str+"0000";
        	 if(out[j]<8&&out[j]>=4)
         		 str=str+"00000";
        	 if(out[j]<4&&out[j]>=2)
         		 str=str+"000000";
        	 if(out[j]<2)
         		 str=str+"0000000";
	         str=str+temp1;
	         
         }
    //str=str.substring(0, str.length()-7);
    //str=str+"\n";
    ta2.setText(str);
	}
	static int[] toHex(char[] ch)
	{

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美videossexotv100| 一区二区三区不卡在线观看| 亚洲三级在线观看| 蜜臀va亚洲va欧美va天堂| 成人黄色在线看| 日韩免费一区二区三区在线播放| 亚洲乱码日产精品bd| 国产精品91一区二区| 日韩欧美在线综合网| 亚洲精品国产高清久久伦理二区| 国产资源在线一区| 69久久99精品久久久久婷婷| 中文字幕视频一区二区三区久| 蜜桃久久av一区| 欧美网站一区二区| 亚洲视频一二区| 粉嫩av亚洲一区二区图片| 日韩视频永久免费| 日韩专区欧美专区| 91官网在线免费观看| 亚洲特黄一级片| 94色蜜桃网一区二区三区| 国产精品人人做人人爽人人添| 国产自产2019最新不卡| 欧美xxxxx裸体时装秀| 日本不卡视频在线观看| 欧美丰满少妇xxxbbb| 日日摸夜夜添夜夜添亚洲女人| 在线观看中文字幕不卡| 亚洲一线二线三线视频| 色香色香欲天天天影视综合网 | 国产成人av电影在线播放| 在线综合+亚洲+欧美中文字幕| 亚洲国产wwwccc36天堂| 欧美日韩在线播放三区| 亚洲福利一二三区| 99久久99久久综合| 亚洲欧美日韩久久精品| 欧美色图天堂网| 日韩二区三区在线观看| 欧美成人精品福利| 日韩黄色免费网站| 中文字幕一区免费在线观看| av激情亚洲男人天堂| 国产精品丝袜久久久久久app| 国产成人免费av在线| 综合激情网...| 欧美性极品少妇| 丝袜亚洲另类欧美| 欧美性色黄大片| 亚洲影院免费观看| 日韩精品一区在线| 一区二区在线免费观看| 91首页免费视频| 国产亚洲精品超碰| 色噜噜夜夜夜综合网| 一区二区三区精品在线| 欧美一区二区三区在线电影 | 日韩一区二区三区免费观看| 精品在线一区二区| 国产精品天美传媒沈樵| 色狠狠综合天天综合综合| 久久草av在线| 国产精品第一页第二页第三页 | 在线观看成人免费视频| 日本aⅴ精品一区二区三区 | 亚州成人在线电影| 久久综合九色欧美综合狠狠| 色综合天天综合在线视频| 日韩av成人高清| 国产精品久久久久一区二区三区| 精品视频一区二区三区免费| 国产精品一色哟哟哟| 亚洲6080在线| 国产精品久久久久久户外露出| 欧美精品日日鲁夜夜添| 国产成人高清视频| 日韩精品视频网站| 亚洲色图视频网站| xnxx国产精品| 欧美精品色一区二区三区| av在线不卡网| 国产乱码精品一品二品| 日韩精品一级二级| 亚洲自拍欧美精品| 国产精品久久久99| 久久精品欧美日韩| 欧美一级高清片| 欧美网站一区二区| 色综合天天综合网国产成人综合天 | 久久久久久久久久电影| 3d动漫精品啪啪1区2区免费| 色综合一区二区三区| 国产69精品久久久久毛片| 免费人成在线不卡| 午夜久久久久久久久久一区二区| 最新国产成人在线观看| 国产精品国产成人国产三级| 久久影院视频免费| 欧美大片国产精品| 91麻豆精品国产91久久久 | 久久精品亚洲麻豆av一区二区 | 欧美一级高清片在线观看| 欧美猛男男办公室激情| 欧美在线影院一区二区| 97久久超碰国产精品电影| 风流少妇一区二区| 粉嫩aⅴ一区二区三区四区| 国产又黄又大久久| 国产精品综合视频| 国产在线播精品第三| 精品亚洲porn| 国产一区二区三区国产| 国产在线国偷精品产拍免费yy| 精品一区二区三区免费毛片爱| 青青草国产成人av片免费| 免费观看在线综合| 久久99精品国产91久久来源| 国产美女在线精品| 国产剧情一区二区| 暴力调教一区二区三区| 91麻豆免费观看| 在线精品视频免费观看| 欧美在线视频全部完| 欧美日韩免费一区二区三区视频| 欧美日韩欧美一区二区| 日韩欧美亚洲国产另类| 久久色.com| 亚洲欧洲av在线| 亚洲国产精品久久久久婷婷884 | 日韩中文字幕不卡| 久久精品国产澳门| 国产成人自拍高清视频在线免费播放| 国产成人三级在线观看| 不卡一区二区中文字幕| 欧美日韩精品一区二区在线播放| 日韩免费看的电影| 国产精品视频看| 亚洲卡通欧美制服中文| 日韩精品国产欧美| 国产精品一二三区在线| 日本黄色一区二区| 精品久久久久av影院| 亚洲欧美中日韩| 三级欧美在线一区| 成人性生交大片免费| 91成人免费电影| 久久丝袜美腿综合| 亚洲一区二区成人在线观看| 国产一区二区在线视频| 91九色最新地址| 久久久久久久免费视频了| 亚洲男人都懂的| 国产在线精品一区二区夜色 | 亚洲精品视频观看| 蜜桃视频一区二区| 欧美中文一区二区三区| 久久久久久**毛片大全| 亚洲v日本v欧美v久久精品| 岛国精品在线播放| 欧美一区二区三区视频免费| 中文字幕一区二区三区四区不卡| 日本女优在线视频一区二区| 99精品欧美一区二区蜜桃免费| 欧美一级高清大全免费观看| 亚洲另类色综合网站| 丰满白嫩尤物一区二区| 日韩一级免费观看| 亚洲成人久久影院| 99re成人在线| 日本一区二区三级电影在线观看| 免费高清成人在线| 一本久久精品一区二区| 中文字幕免费不卡| 国产一区二区日韩精品| 日韩三级在线观看| 天天射综合影视| 欧美在线综合视频| 亚洲精品视频观看| 97精品久久久久中文字幕| 欧美国产一区二区在线观看| 蜜桃精品视频在线观看| 欧美电影一区二区| 亚洲一区二区3| 色婷婷综合久久久久中文| 国产精品成人网| 成人午夜免费视频| 欧美激情中文字幕| 国产高清成人在线| 久久精品亚洲麻豆av一区二区| 国内成+人亚洲+欧美+综合在线| 日韩精品专区在线影院重磅| 日韩中文字幕91| 欧美一区二区三区在线视频| 日本va欧美va欧美va精品| 欧美一区二区三区在线观看视频| 日韩精品免费专区| 欧美v日韩v国产v| 国产在线不卡视频| 中文字幕高清一区|