代码语言
.
CSharp
.
JS
Java
Asp.Net
C
MSSQL
PHP
Css
PLSQL
Python
Shell
EBS
ASP
Perl
ObjC
VB.Net
VBS
MYSQL
GO
Delphi
AS
DB2
Domino
Rails
ActionScript
Scala
代码分类
文件
系统
字符串
数据库
网络相关
图形/GUI
多媒体
算法
游戏
Jquery
Extjs
Android
HTML5
菜单
网页交互
WinForm
控件
企业应用
安全与加密
脚本/批处理
开放平台
其它
【
Java
】
IDEA加密工具
作者:
DDT
/ 发布于
2012/7/23
/
556
IDEA加密工具
import com.ms.wfc.app.*; import com.ms.wfc.core.*; import com.ms.wfc.ui.*; import com.ms.wfc.html.*; /** * This class can take a variable number of parameters on the command * line. Program execution begins with the main() method. The class * constructor is not invoked unless an object of type 'FormIDEAwindow' * created in the main() method. */ public class FormIDEAwindow extends Form { public static int MtoCorCtoM; //加密或脱密类型:0为加密 public static final int TYPE_M_TO_C = 0; //代表加密的常量 public static final int TYPE_C_TO_M = 1; //代表脱密的常量 public static final int maxim=65537; //常量2的16次方加1,即65537 public static final int fuyi=65536; //常量2的16次方,即65536 public static final int one=65535; //常量65535,即低16位为1的整型 public static final int round=8; int group; //正在进行的分组组数 Count16[] count16MorC; //16进制的明文或密文数组 String strCorM = new String(""); //16进制的明文或密文的字符串保存形式 char[][] Z = new char[7][10]; //加密密钥:Z[4][6]表示第6圈的第4个加密密钥 char[][] DK = new char[7][10]; //脱密密钥:DK[2][9]表示第9圈即输出变换圈的第2个脱密密钥 char[] XX = new char[5]; //128比特的明文或密文表示形式 char[] userKey = new char[9]; //用户输入的128位初始密钥 public FormIDEAwindow() { super(); // Required for Visual J++ Form Designer support initForm(); // TODO: Add any constructor code after initForm call } /** * FormIDEAwindow overrides dispose so it can clean up the * component list. */ public void dispose() { super.dispose(); components.dispose(); } private void menuItemIDEABegin_click(Object source, Event e) //开始按钮 { if(menuItemIDEABegin.getText().equals("重来")) { super.dispose(); components.dispose(); Application.run(new FormIDEAwindow()); } else { panelIDEA.setVisible(false); labelIDEAInstruction.setVisible(true); labelIDEAInputMorC.setVisible(true); labelIDEAMorClength.setVisible(true); richEditIDEAInputMorC.setVisible(true); labelIDEAInputK.setVisible(true); labelIDEAKlength.setVisible(true); richEditIDEAInputK.setVisible(true); labelIDEACheckInputMorC.setVisible(true); labelIDEACheckInputK.setVisible(true); buttonIDEACalculate.setVisible(true); labelIDEAKResult.setVisible(true); richEditIDEAKResult.setVisible(true); labelIDEAResult.setVisible(true); richEditIDEAResult.setVisible(true); menuItemIDEABegin.setText("重来"); if(MtoCorCtoM == TYPE_M_TO_C) { labelIDEADataFillType.setVisible(true); labelIDEAChangeDataFillType.setVisible(true); buttonIDEAChangeDataFillType.setVisible(true); labelIDEAInstruction.setText("这个程序用来进行IDEA分组密码算法的加密运算"); labelIDEAInputMorC.setText("请输入初始明文"); labelIDEAInputK.setText("请输入用户密钥"); buttonIDEACalculate.setText("加密"); labelIDEAKResult.setText("生成密钥"); labelIDEAResult.setText("生成密文:"); } else { labelIDEAInstruction.setText("这个程序用来进行IDEA分组密码算法的脱密运算"); labelIDEAInputMorC.setText("请输入初始密文"); labelIDEAInputK.setText("请输入用户密钥"); buttonIDEACalculate.setText("脱密"); labelIDEAKResult.setText("生成密钥"); labelIDEAResult.setText("生成明文:"); } } } private void menuItemIDEABack_click(Object source, Event e) //返回按钮 { super.dispose(); components.dispose(); Application.run(new Form1()); } private void menuItemIDEAExit_click(Object source, Event e) //退出按钮 { int result = MessageBox.show("感谢使用本软件。\n你真的要退出本程序吗?","密码学算法软件",MessageBox.OKCANCEL+MessageBox.ICONQUESTION+MessageBox.DEFBUTTON1); if(result==DialogResult.OK) { super.dispose(); components.dispose(); Application.exit(); } else { } } private void richEditIDEAInputMorC_textChanged(Object source, Event e) //显示输入明密文长度 { labelIDEAMorClength.setText("长度:"+richEditIDEAInputMorC.getText().length()+",即"+richEditIDEAInputMorC.getText().length()*4+"bit"); } private void richEditIDEAInputK_textChanged(Object source, Event e) //显示输入密钥长度 { labelIDEAKlength.setText("长度:"+richEditIDEAInputK.getText().length()+",即"+richEditIDEAInputK.getText().length()*4+"bit"); } private void buttonIDEAChangeDataFillType_click(Object source, Event e) //加密时需改变数据填充类型 { comboBoxIDEAChangeDataFillType.setVisible(true); buttonIDEAChangeDataFillType.setVisible(false); buttonIDEACalculate.setEnabled(false); } private void comboBoxIDEAChangeDataFillType_selectedIndexChanged(Object source, Event e) { if((String)comboBoxIDEAChangeDataFillType.getSelectedItem() != null) //选择填充方式 { buttonIDEACalculate.setEnabled(true); } } private void key(char[] usekey) //生成加密密钥 { if(usekey.length==9) { char[] S = new char[52]; int i,j,r; for(i=1;i<9;i++) //S[1],S[2],……S[8] { S[i-1]=usekey[i]; } for(i=8;i<52;i++) { if((i+2)%8==0) //S[14],S[22],…… { S[i]=(char)(((int)((char)((int)S[i-7]<<9))^(int)((char)((int)S[i-14]>>7)))&one); } else { if((i+1)%8==0) //S[15],S[23],…… { S[i]=(char)(((int)((char)((int)S[i-15]<<9))^(int)((char)((int)S[i-14]>>7)))&one); } else { S[i]=(char)(((int)((char)((int)S[i-7]<<9))^(int)((char)((int)S[i-6]>>7)))&one); } } } for(r=1;r<=round;r++) //形成加密密钥Z { for(j=1;j<=6;j++) { Z[j][r]=S[6*(r-1)+j-1]; } } if(r==round+1) { for(j=1;j<=4;j++) { Z[j][r]=S[6*(r-1)+j-1]; } } } } private void de_key(char[][] Zkey) //生成脱密密钥DK { if(Zkey.length==7&Zkey[0].length==10) { int i,j; for(j=1;j<=round+1;j++) { DK[1][round-j+2]=(char)Maths.inverse((int)Zkey[1][j],maxim); DK[4][round-j+2]=(char)Maths.inverse((int)Zkey[4][j],maxim); if(j==1||j==round+1) { DK[2][round-j+2]=(char)((fuyi-(int)Zkey[2][j])&one); DK[3][round-j+2]=(char)((fuyi-(int)Zkey[3][j])&one); } else { DK[2][round-j+2]=(char)((fuyi-(int)Zkey[3][j])&one); DK[3][round-j+2]=(char)((fuyi-(int)Zkey[2][j])&one); } } for(j=1;j<=round+1;j++) { DK[5][round+1-j]=Zkey[5][j]; DK[6][round+1-j]=Zkey[6][j]; } } } private void keyPrint(char[][] Key) //加脱密密钥打印 { int i,j,k; String strK; Count16[] count16print = new Count16[4]; for(i=0; i<4; i++) { count16print[i] = new Count16(); } strK = " "; for(i=1; i<7; i++) { if(MtoCorCtoM==TYPE_M_TO_C) { strK = strK+" Z"+i+" "; } else { strK = strK+" U"+i+" "; } } for(i=1; i<9; i++) { strK = strK+"第"+i+"圈: "; for(j=1; j<7; j++) { count16print = Count16.shortToCount16(Key[j][i]); for(k=0; k<4; k++) { strK = strK+count16print[k].gethex(); } if(j<6) { strK = strK+" "; } } } strK = strK+"第"+i+"圈: "; for(j=1; j<5; j++) { count16print = Count16.shortToCount16(Key[j][i]); for(k=0; k<4; k++) { strK = strK+count16print[k].gethex(); } if(j<4) { strK = strK+" "; } } richEditIDEAKResult.setText(strK); } private void buttonIDEACalculate_click(Object source, Event e) //加密或脱密计算按钮 { int col,row; boolean rightInput = false; String strMorC; String strK; strMorC = richEditIDEAInputMorC.getText(); strK = richEditIDEAInputK.getText(); if(strMorC.equals("")|strK.equals("")) //明密文或密钥为空 { } else { char[] chMorC = new char[strMorC.length()]; char[] chK = new char[strK.length()]; chMorC = strMorC.toCharArray(); chK = strK.toCharArray(); for(col=0; col<chMorC.length; col++) { if(chMorC[col]< '0'|(chMorC[col]> '9'&chMorC[col]< 'A')|chMorC[col]> 'F') //检测输入合法性 { if(MtoCorCtoM == TYPE_M_TO_C) { if(chMorC[col]==' ') { labelIDEACheckInputMorC.setText("明文中第"+(col+1)+"位字符是空格,请删除"); } else { labelIDEACheckInputMorC.setText("明文中第"+(col+1)+"位字符不合法"); } } else { if(chMorC[col]==' ') { labelIDEACheckInputMorC.setText("密文中第"+(col+1)+"位字符是空格,请删除"); } else { labelIDEACheckInputMorC.setText("密文中第"+(col+1)+"位字符不合法"); } } rightInput = false; break; } } if(col==chMorC.length) { labelIDEACheckInputMorC.setText(""); } for(row=0; row<chK.length; row++) { if(chK[row]< '0'|(chK[row]> '9'&chK[row]< 'A')|chK[row]> 'F') { if(chK[row]==' ') { labelIDEACheckInputK.setText("密钥中第"+(row+1)+"位字符是空格,请删除"); } else { labelIDEACheckInputK.setText("密钥中第"+(row+1)+"位字符不合法"); } rightInput = false; break; } } if(row==chK.length) { labelIDEACheckInputK.setText(""); } if(col==chMorC.length & row==chK.length) { rightInput = true; } if(chK.length!=32) //长度检测 { labelIDEACheckInputK.setText("密钥长度必须为128bit,即32个字符"); rightInput = false; } if(MtoCorCtoM==TYPE_C_TO_M && chMorC.length%16!=0) { labelIDEACheckInputMorC.setText("密文长度必须为64bit的整数倍"); rightInput = false; } if(rightInput==true) //检测输入正确时 { labelIDEACheckInputMorC.setText(""); labelIDEACheckInputK.setText(""); Count16[] count16temp = new Count16[4]; for(col=0; col<4; col++) { count16temp[col] = new Count16(); } for(col=0; col<32; col=col+4) { for(row=0; row<4; row++) { count16temp[row].sethex(chK[col+row]); } userKey[col/4+1] = Count16.toshort(count16temp); //生成用户密钥 } key(userKey); //生成密钥 if(MtoCorCtoM==TYPE_C_TO_M) //生成脱密密钥并打印 { de_key(Z); keyPrint(DK); } else //打印加密密钥 { keyPrint(Z); } count16MorC = new Count16[((chMorC.length-1)/16+1)*16]; //明密文存储内存分配 for(col=0; col<count16MorC.length; col++) { count16MorC[col] = new Count16(); } for(col=0; col<chMorC.length; col++) { count16MorC[col].sethex(chMorC[col]); } if(MtoCorCtoM==TYPE_M_TO_C && buttonIDEAChangeDataFillType.getVisible()==false) { for(col=chMorC.length; col<count16MorC.length; col++) //默认填充0 { count16MorC[col].sethex('0'); } String strDataFillType; strDataFillType = (String)comboBoxIDEAChangeDataFillType.getSelectedItem(); if(strDataFillType.equals("填充 0 (默认)")) { } if(strDataFillType.equals("填充 1")) //填充1 { for(col=chMorC.length; col<count16MorC.length; col++) { count16MorC[col].sethex('F'); } } if(strDataFillType.equals("填充0和1(先0后1)")) //填充01 { for(col=chMorC.length; col<count16MorC.length; col++) { count16MorC[col].sethex('5'); } } if(strDataFillType.equals("填充1和0(先1后0)")) //填充10 { for(col=chMorC.length; col<count16MorC.length; col++) { count16MorC[col].sethex('A'); } } } for(group=1; group<=(count16MorC.length/16); group++) //分组信息 { for(col=(group-1)*16,row=0; row<16; col++,row++) { count16temp[row%4].sethex(count16MorC[col].gethex()); if(row%4==3) { XX[row/4+1] = Count16.toshort(count16temp); } } if(MtoCorCtoM == TYPE_M_TO_C) //加密计算 { cip(XX,Z); } else //脱密计算 { cip(XX,DK); } } richEditIDEAResult.setText(strCorM); strCorM = ""; buttonIDEACalculate.setEnabled(false); richEditIDEAInputK.setEnabled(false); richEditIDEAInputMorC.setEnabled(false); richEditIDEAInputK.setBackColor(Color.LIGHTGRAY); richEditIDEAInputMorC.setBackColor(Color.LIGHTGRAY); buttonIDEAChangeDataFillType.setEnabled(false); comboBoxIDEAChangeDataFillType.setEnabled(false); comboBoxIDEAChangeDataFillType.setBackColor(Color.LIGHTGRAY); } } } private void cip(char[] IN,char[][] KEY) //加密函数 { int i,j,r; char[] OUT = new char[5]; char[] x = new char[5]; char kk,t1,t2,a; Count16[] roundOut = new Count16[4]; for(i=0; i<4; i++) { roundOut[i] = new Count16(); } strCorM = strCorM + "*****************************************"; if(MtoCorCtoM == TYPE_M_TO_C) { strCorM = strCorM + "第"+group+"组密文: "; } else { strCorM = strCorM + "第"+group+"组明文: "; } strCorM = strCorM + "-----------------------------------------"; x[1]=IN[1]; x[2]=IN[2]; x[3]=IN[3]; x[4]=IN[4]; for(r=1;r<=8;r++) //8圈迭代. { x[1]=mul(x[1],KEY[1][r]); x[2]=(char)(((int)x[2]+(int)KEY[2][r])&one); x[3]=(char)(((int)x[3]+(int)KEY[3][r])&one); x[4]=mul(x[4],KEY[4][r]); //乘加(MA)结构. kk=mul(KEY[5][r],(char)((int)x[1]^(int)x[3])); t1=mul(KEY[6][r],(char)(((int)kk+((int)x[2]^(int)x[4]))&one)); t2=(char)(((int)kk+(int)t1)&one); //下一圈输入交换. x[1]=(char)((int)x[1]^(int)t1); x[4]=(char)((int)x[4]^(int)t2); a=(char)((int)x[2]^(int)t2); x[2]=(char)((int)x[3]^(int)t1); x[3]=a; strCorM = strCorM+"第"+r+"圈输出: "; for(i=1; i<5; i++) { roundOut = Count16.shortToCount16( x[i] ); for(j=0; j<4; j++) { strCorM = strCorM + roundOut[j].gethex(); } strCorM = strCorM + " "; } } //输出变换得出加脱密结果. OUT[1]=mul(x[1],KEY[1][round+1]); OUT[4]=mul(x[4],KEY[4][round+1]); OUT[2]=(char)((x[3]+KEY[2][round+1])&one); OUT[3]=(char)((x[2]+KEY[3][round+1])&one); if(MtoCorCtoM == TYPE_M_TO_C) //为打印作准备 { if(group<=9) { strCorM = strCorM+"第"+group+"组加密结果: "; } else { strCorM = strCorM+"第"+group+"组加密结果: "; } } else { if(group<=9) { strCorM = strCorM+"第"+group+"组脱密结果: "; } else { strCorM = strCorM+"第"+group+"组脱密结果: "; } } for(i=1; i<5; i++) { roundOut = Count16.shortToCount16( OUT[i] ); for(j=0; j<4; j++) { strCorM = strCorM + roundOut[j].gethex(); } strCorM = strCorM + " "; } strCorM = strCorM+"*****************************************"; } private char mul(char a,char b) //模2的16次方加1运算 { int p; long q; if((int)a==0) { p=maxim-(int)b; } else { if((int)b==0) { p=maxim-(int)a; } else { q=(long)a*(long)b; if((q&((long)one))>(long)(q>>16)) { p=(int)((q&((long)one))-(long)(q>>16)); } else { p=(int)((q&((long)one))+(long)maxim-(long)(q>>16)); } } } return (char)(p&one); } private void menuItemHelp_click(Object source, Event e) { MessageBox.show("IDEA算法使用帮助:\n 输入框内可以输入字符\n0-9以及大字字母A-F,注意小写字母不行。\n如果输入的字符不能通过检查,请确认是否输入了回车键。\n如有,请将回车字符删去。\n\n说明:\n 剪切: Ctrl+X\n 复制: Ctrl+C\n 粘贴: Ctrl+V" ,"请注意",MessageBox.OK+MessageBox.ICONEXCLAMATION+MessageBox.DEFBUTTON1); } /** * NOTE: The following code is required by the Visual J++ form * designer. It can be modified using the form editor. Do not * modify it using the code editor. */ Container components = new Container(); MainMenu mainMenuIDEA = new MainMenu(); MenuItem menuItemIDEABegin = new MenuItem(); MenuItem menuItemIDEABack = new MenuItem(); MenuItem menuItemIDEAExit = new MenuItem(); Label labelIDEAInstruction = new Label(); RichEdit richEditIDEAResult = new RichEdit(); Button buttonIDEACalculate = new Button(); Label labelIDEACheckInputMorC = new Label(); ComboBox comboBoxIDEAChangeDataFillType = new ComboBox(); Button buttonIDEAChangeDataFillType = new Button(); Label labelIDEAChangeDataFillType = new Label(); Label labelIDEAInputMorC = new Label(); Label labelIDEADataFillType = new Label(); RichEdit richEditIDEAInputK = new RichEdit(); Label labelIDEAKlength = new Label(); Label labelIDEAMorClength = new Label(); RichEdit richEditIDEAInputMorC = new RichEdit(); Label labelIDEAInputK = new Label(); Label labelIDEACheckInputK = new Label(); RichEdit richEditIDEAKResult = new RichEdit(); Label labelIDEAKResult = new Label(); Label labelIDEAResult = new Label(); MenuItem menuItemHelp = new MenuItem(); Panel panelIDEA = new Panel(); PictureBox pictureBoxIDEA = new PictureBox(); RichEdit richEditBegin = new RichEdit(); RichEdit richEditzhuyi = new RichEdit(); private void initForm() { // NOTE: This form is storing resource information in an // external file. Do not modify the string parameter to any // resources.getObject() function call. For example, do not // modify "foo1_location" in the following line of code // even if the name of the Foo object changes: // foo1.setLocation((Point)resources.getObject("foo1_location")); IResourceManager resources = new ResourceManager(this, "FormIDEAwindow"); menuItemIDEABegin.setText("开始"); menuItemIDEABegin.addOnClick(new EventHandler(this.menuItemIDEABegin_click)); menuItemIDEABack.setText("返回"); menuItemIDEABack.addOnClick(new EventHandler(this.menuItemIDEABack_click)); menuItemIDEAExit.setText("退出"); menuItemIDEAExit.addOnClick(new EventHandler(this.menuItemIDEAExit_click)); labelIDEAInstruction.setFont(new Font("宋体", 16.0f, FontSize.POINTS, FontWeight.BOLD, false, false, false, CharacterSet.DEFAULT, 0)); labelIDEAInstruction.setForeColor(Color.BLACK); labelIDEAInstruction.setLocation(new Point(32, 16)); labelIDEAInstruction.setSize(new Point(288, 48)); labelIDEAInstruction.setTabIndex(0); labelIDEAInstruction.setTabStop(false); labelIDEAInstruction.setText(""); labelIDEAInstruction.setVisible(false); richEditIDEAResult.setBackColor(new Color(204, 255, 51)); richEditIDEAResult.setFont(new Font("宋体", 14.0f, FontSize.POINTS, FontWeight.NORMAL, false, false, false, CharacterSet.DEFAULT, 0)); richEditIDEAResult.setForeColor(Color.WINDOWTEXT); richEditIDEAResult.setLocation(new Point(376, 184)); richEditIDEAResult.setSize(new Point(400, 328)); richEditIDEAResult.setTabIndex(13); richEditIDEAResult.setText(""); richEditIDEAResult.setVisible(false); richEditIDEAResult.setReadOnly(true); richEditIDEAResult.setScrollBars(RichEditScrollBars.FORCED_VERTICAL); buttonIDEACalculate.setFont(new Font("宋体", 18.0f, FontSize.POINTS, FontWeight.BOLD, false, false, false, CharacterSet.DEFAULT, 0)); buttonIDEACalculate.setLocation(new Point(272, 392)); buttonIDEACalculate.setSize(new Point(64, 48)); buttonIDEACalculate.setTabIndex(12); buttonIDEACalculate.setText(""); buttonIDEACalculate.setVisible(false); buttonIDEACalculate.addOnClick(new EventHandler(this.buttonIDEACalculate_click)); labelIDEACheckInputMorC.setBackColor(new Color(153, 77, 0)); labelIDEACheckInputMorC.setFont(new Font("宋体", 14.0f, FontSize.POINTS, FontWeight.BOLD, false, false, false, CharacterSet.DEFAULT, 0)); labelIDEACheckInputMorC.setForeColor(Color.BLACK); labelIDEACheckInputMorC.setLocation(new Point(16, 336)); labelIDEACheckInputMorC.setSize(new Point(320, 20)); labelIDEACheckInputMorC.setTabIndex(11); labelIDEACheckInputMorC.setTabStop(false); labelIDEACheckInputMorC.setText(""); labelIDEACheckInputMorC.setVisible(false); labelIDEACheckInputMorC.setTextAlign(HorizontalAlignment.CENTER); comboBoxIDEAChangeDataFillType.setBackColor(new Color(204, 255, 51)); comboBoxIDEAChangeDataFillType.setFont(new Font("宋体", 9.0f, FontSize.POINTS, FontWeight.NORMAL, false, false, false, CharacterSet.DEFAULT, 0)); comboBoxIDEAChangeDataFillType.setLocation(new Point(16, 472)); comboBoxIDEAChangeDataFillType.setSize(new Point(192, 20)); comboBoxIDEAChangeDataFillType.setTabIndex(10); comboBoxIDEAChangeDataFillType.setText(""); comboBoxIDEAChangeDataFillType.setVisible(false); comboBoxIDEAChangeDataFillType.setStyle(ComboBoxStyle.DROPDOWNLIST); comboBoxIDEAChangeDataFillType.setItems(new Object[] { "填充 0 (默认)", "填充 1", "填充0和1(先0后1)", "填充1和0(先1后0)"}); comboBoxIDEAChangeDataFillType.addOnSelectedIndexChanged(new EventHandler(this.comboBoxIDEAChangeDataFillType_selectedIndexChanged)); buttonIDEAChangeDataFillType.setFont(new Font("宋体", 9.0f, FontSize.POINTS, FontWeight.NORMAL, false, false, false, CharacterSet.DEFAULT, 0)); buttonIDEAChangeDataFillType.setLocation(new Point(216, 448)); buttonIDEAChangeDataFillType.setSize(new Point(32, 24)); buttonIDEAChangeDataFillType.setTabIndex(9); buttonIDEAChangeDataFillType.setText("更改"); buttonIDEAChangeDataFillType.setVisible(false); buttonIDEAChangeDataFillType.addOnClick(new EventHandler(this.buttonIDEAChangeDataFillType_click)); labelIDEAChangeDataFillType.setFont(new Font("宋体", 12.0f, FontSize.POINTS, FontWeight.NORMAL, true, false, false, CharacterSet.DEFAULT, 0)); labelIDEAChangeDataFillType.setForeColor(new Color(224, 224, 224)); labelIDEAChangeDataFillType.setLocation(new Point(16, 448)); labelIDEAChangeDataFillType.setSize(new Point(192, 16)); labelIDEAChangeDataFillType.setTabIndex(8); labelIDEAChangeDataFillType.setTabStop(false); labelIDEAChangeDataFillType.setText("改变默认的数据填充类型"); labelIDEAChangeDataFillType.setVisible(false); labelIDEAChangeDataFillType.setTextAlign(HorizontalAlignment.CENTER); labelIDEAInputMorC.setFont(new Font("宋体", 12.0f, FontSize.POINTS, FontWeight.BOLD, false, false, false, CharacterSet.DEFAULT, 0)); labelIDEAInputMorC.setForeColor(Color.BLACK); labelIDEAInputMorC.setLocation(new Point(8, 88)); labelIDEAInputMorC.setSize(new Point(152, 23)); labelIDEAInputMorC.setTabIndex(1); labelIDEAInputMorC.setTabStop(false); labelIDEAInputMorC.setText(""); labelIDEAInputMorC.setVisible(false); labelIDEADataFillType.setFont(new Font("宋体", 12.0f, FontSize.POINTS, FontWeight.NORMAL, true, false, false, CharacterSet.DEFAULT, 0)); labelIDEADataFillType.setForeColor(new Color(224, 224, 224)); labelIDEADataFillType.setLocation(new Point(16, 424)); labelIDEADataFillType.setSize(new Point(248, 16)); labelIDEADataFillType.setTabIndex(7); labelIDEADataFillType.setTabStop(false); labelIDEADataFillType.setText("数据填充类型:填充 0 (默认)"); labelIDEADataFillType.setVisible(false); labelIDEADataFillType.setTextAlign(HorizontalAlignment.CENTER); richEditIDEAInputK.setBackColor(new Color(204, 255, 51)); richEditIDEAInputK.setFont(new Font("宋体", 14.0f, FontSize.POINTS, FontWeight.NORMAL, false, false, false, CharacterSet.DEFAULT, 0)); richEditIDEAInputK.setForeColor(Color.WINDOWTEXT); richEditIDEAInputK.setLocation(new Point(8, 248)); richEditIDEAInputK.setSize(new Point(328, 80)); richEditIDEAInputK.setTabIndex(6); richEditIDEAInputK.setText(""); richEditIDEAInputK.setVisible(false); richEditIDEAInputK.setScrollBars(RichEditScrollBars.VERTICAL); richEditIDEAInputK.addOnTextChanged(new EventHandler(this.richEditIDEAInputK_textChanged)); labelIDEAKlength.setFont(new Font("宋体", 12.0f, FontSize.POINTS, FontWeight.BOLD, false, false, false, CharacterSet.DEFAULT, 0)); labelIDEAKlength.setForeColor(Color.BLACK); labelIDEAKlength.setLocation(new Point(168, 216)); labelIDEAKlength.setSize(new Point(192, 23)); labelIDEAKlength.setTabIndex(5); labelIDEAKlength.setTabStop(false); labelIDEAKlength.setText(""); labelIDEAMorClength.setFont(new Font("宋体", 12.0f, FontSize.POINTS, FontWeight.BOLD, false, false, false, CharacterSet.DEFAULT, 0)); labelIDEAMorClength.setForeColor(Color.BLACK); labelIDEAMorClength.setLocation(new Point(168, 88)); labelIDEAMorClength.setSize(new Point(192, 23)); labelIDEAMorClength.setTabIndex(4); labelIDEAMorClength.setTabStop(false); labelIDEAMorClength.setText(""); richEditIDEAInputMorC.setBackColor(new Color(204, 255, 51)); richEditIDEAInputMorC.setFont(new Font("宋体", 14.0f, FontSize.POINTS, FontWeight.NORMAL, false, false, false, CharacterSet.DEFAULT, 0)); richEditIDEAInputMorC.setForeColor(Color.WINDOWTEXT); richEditIDEAInputMorC.setLocation(new Point(8, 120)); richEditIDEAInputMorC.setSize(new Point(328, 80)); richEditIDEAInputMorC.setTabIndex(3); richEditIDEAInputMorC.setText(""); richEditIDEAInputMorC.setVisible(false); richEditIDEAInputMorC.setScrollBars(RichEditScrollBars.VERTICAL); richEditIDEAInputMorC.addOnTextChanged(new EventHandler(this.richEditIDEAInputMorC_textChanged)); labelIDEAInputK.setFont(new Font("宋体", 12.0f, FontSize.POINTS, FontWeight.BOLD, false, false, false, CharacterSet.DEFAULT, 0)); labelIDEAInputK.setForeColor(Color.BLACK); labelIDEAInputK.setLocation(new Point(8, 216)); labelIDEAInputK.setSize(new Point(152, 23)); labelIDEAInputK.setTabIndex(2); labelIDEAInputK.setTabStop(false); labelIDEAInputK.setText(""); labelIDEAInputK.setVisible(false); labelIDEACheckInputK.setFont(new Font("宋体", 14.0f, FontSize.POINTS, FontWeight.BOLD, false, false, false, CharacterSet.DEFAULT, 0)); labelIDEACheckInputK.setLocation(new Point(16, 360)); labelIDEACheckInputK.setSize(new Point(320, 20)); labelIDEACheckInputK.setTabIndex(14); labelIDEACheckInputK.setTabStop(false); labelIDEACheckInputK.setText(""); labelIDEACheckInputK.setVisible(false); labelIDEACheckInputK.setTextAlign(HorizontalAlignment.CENTER); richEditIDEAKResult.setBackColor(new Color(204, 255, 51)); richEditIDEAKResult.setFont(new Font("宋体", 14.0f, FontSize.POINTS, FontWeight.NORMAL, false, false, false, CharacterSet.DEFAULT, 0)); richEditIDEAKResult.setForeColor(Color.WINDOWTEXT); richEditIDEAKResult.setLocation(new Point(376, 56)); richEditIDEAKResult.setSize(new Point(400, 88)); richEditIDEAKResult.setTabIndex(15); richEditIDEAKResult.setText(""); richEditIDEAKResult.setVisible(false); richEditIDEAKResult.setReadOnly(true); richEditIDEAKResult.setScrollBars(RichEditScrollBars.FORCED_VERTICAL); labelIDEAKResult.setFont(new Font("宋体", 15.0f, FontSize.POINTS, FontWeight.BOLD, false, false, false, CharacterSet.DEFAULT, 0)); labelIDEAKResult.setLocation(new Point(384, 32)); labelIDEAKResult.setSize(new Point(240, 23)); labelIDEAKResult.setTabIndex(16); labelIDEAKResult.setTabStop(false); labelIDEAKResult.setText(""); labelIDEAKResult.setVisible(false); labelIDEAResult.setFont(new Font("宋体", 15.0f, FontSize.POINTS, FontWeight.BOLD, false, false, false, CharacterSet.DEFAULT, 0)); labelIDEAResult.setLocation(new Point(384, 160)); labelIDEAResult.setSize(new Point(240, 23)); labelIDEAResult.setTabIndex(17); labelIDEAResult.setTabStop(false); labelIDEAResult.setText(""); labelIDEAResult.setVisible(false); menuItemHelp.setText("帮助"); menuItemHelp.addOnClick(new EventHandler(this.menuItemHelp_click)); mainMenuIDEA.setMenuItems(new MenuItem[] { menuItemIDEABegin, menuItemIDEABack, menuItemIDEAExit, menuItemHelp}); /* @designTimeOnly mainMenuIDEA.setLocation(new Point(112, -32)); */ this.setBackColor(new Color(153, 77, 0)); this.setForeColor(Color.BLACK); this.setText("密码学-IDEA算法"); this.setAutoScaleBaseSize(new Point(6, 12)); this.setBorderStyle(FormBorderStyle.FIXED_3D); this.setClientSize(new Point(790, 531)); this.setMaximizeBox(false); this.setMenu(mainMenuIDEA); this.setStartPosition(FormStartPosition.CENTER_SCREEN); panelIDEA.setSize(new Point(792, 536)); panelIDEA.setTabIndex(19); panelIDEA.setText("panel1"); pictureBoxIDEA.setLocation(new Point(112, 0)); pictureBoxIDEA.setSize(new Point(680, 536)); pictureBoxIDEA.setTabIndex(0); pictureBoxIDEA.setTabStop(false); pictureBoxIDEA.setText("pictureBox1"); pictureBoxIDEA.setImage((Bitmap)resources.getObject("pictureBoxIDEA_image")); richEditBegin.setBackColor(new Color(153, 77, 0)); richEditBegin.setEnabled(false); richEditBegin.setFont(new Font("宋体", 16.0f)); richEditBegin.setForeColor(new Color(204, 255, 51)); richEditBegin.setLocation(new Point(8, 0)); richEditBegin.setSize(new Point(32, 200)); richEditBegin.setTabIndex(1); richEditBegin.setText("请点击开始按钮"); richEditBegin.setBorderStyle(BorderStyle.NONE); richEditzhuyi.setBackColor(new Color(153, 77, 0)); richEditzhuyi.setEnabled(false); richEditzhuyi.setFont(new Font("宋体", 9.0f, FontSize.POINTS, FontWeight.NORMAL, false, false, false, CharacterSet.DEFAULT, 0)); richEditzhuyi.setForeColor(new Color(204, 255, 51)); richEditzhuyi.setLocation(new Point(8, 208)); richEditzhuyi.setSize(new Point(96, 304)); richEditzhuyi.setTabIndex(2); richEditzhuyi.setText("注意: 输入框内只能输入数字0到9和字母A到F,字母为大写。输入其余不符合上述条件的字符本软件均报错误。输入完毕后请点击右边的加脱密按钮即可开始运算。务必不要使用按下回车键来代替按下按钮,如使用了回车键,请将因为按下回车键产生的最后两位字符删去。"); richEditzhuyi.setBorderStyle(BorderStyle.NONE); this.setNewControls(new Control[] { panelIDEA, labelIDEAResult, labelIDEAKResult, richEditIDEAKResult, labelIDEACheckInputK, richEditIDEAResult, buttonIDEACalculate, labelIDEACheckInputMorC, comboBoxIDEAChangeDataFillType, buttonIDEAChangeDataFillType, labelIDEAChangeDataFillType, labelIDEADataFillType, richEditIDEAInputK, labelIDEAKlength, labelIDEAMorClength, richEditIDEAInputMorC, labelIDEAInputK, labelIDEAInputMorC, labelIDEAInstruction}); panelIDEA.setNewControls(new Control[] { richEditzhuyi, richEditBegin, pictureBoxIDEA}); } /** * The main entry point for the application. * * @param args Array of parameters passed to the application * via the command line. */ public static void main(String args[]) { Application.run(new FormIDEAwindow()); } } </div>
试试其它关键字
IDEA加密工具
同语言下
.
List 切割成几份 工具类
.
一行一行读取txt的内容
.
Java PDF转换成图片并输出给前台展示
.
java 多线程框架
.
double类型如果小数点后为零则显示整数否则保留两位小
.
将图片转换为Base64字符串公共类抽取
.
sqlParser 处理SQL(增删改查) 替换schema 用于多租户
.
JAVA 月份中的第几周处理 1-7属于第一周 依次类推 29-
.
java计算两个经纬度之间的距离
.
输入时间参数计算年龄
可能有用的
.
C#实现的html内容截取
.
List 切割成几份 工具类
.
SQL查询 多列合并成一行用逗号隔开
.
一行一行读取txt的内容
.
C#动态修改文件夹名称(FSO实现,不移动文件)
.
c# 移动文件或文件夹
.
c#图片添加水印
.
Java PDF转换成图片并输出给前台展示
.
网站后台修改图片尺寸代码
.
处理大图片在缩略图时的展示
DDT
贡献的其它代码
(
160
)
.
Oracle统计表的数据行和数据块信息
.
html标签闭合检测与修复
.
Powershell日期计算
.
Powershell的Base64编解码
.
Powershell并行循环
.
Powershell目录中搜索文本
.
Powershell枚举远程机器上的本地权限组
.
VBScript解析csv文件
.
快速排序之Powershell
.
批处理输出格式化时间字符串
Copyright © 2004 - 2024 dezai.cn. All Rights Reserved
站长博客
粤ICP备13059550号-3