javaEJB加密与解密原理的一个例子_php技巧
                        
                            时间:2021-07-01 10:21:17
                            帮助过:5人阅读
							                        
                     
                    
                    加密与解密原理的一个例子 
package lockunlock;  
import Java.awt.*;  
import java.awt.event.*;  
import java.Applet.*;  
import javax.Swing.*;  
import java.util.*;  
public class LockUnlock extends JApplet {  
private boolean isStandalone = false;  
//Get a parameter value  
public String getParameter(String key, String def) {  
return isStandalone ? System.getProperty(key, def) :  
(getParameter(key) != null ? getParameter(key) : def);  
}  
//Construct the applet  
public LockUnlock() {  
}  
//Initialize the applet  
public void init() {  
try {  
jbInit();  
}  
catch(Exception e) {  
e.printStackTrace();  
}  
}  
//Component initialization  
private void jbInit() throws Exception {  
contentPane = (JPanel) this.getContentPane();  
jLabel1.setText("String");  
jLabel1.setBounds(new Rectangle(35, 36, 57, 21));  
contentPane.setLayout(null);  
this.setSize(new Dimension(400, 300));  
jLabel2.setText("String length");  
jLabel2.setBounds(new Rectangle(29, 73, 69, 22));  
jTextField1.setText("");  
jTextField1.setBounds(new Rectangle(108, 40, 166, 17));  
jTextField2.setText("");  
jTextField2.setBounds(new Rectangle(107, 72, 56, 21));  
jButton1.setBounds(new Rectangle(30, 236, 137, 27));  
jButton1.setText("Exercise 3");  
jButton1.addActionListener(new LockUnlock_jButton1_actionAdapter(this));  
jButton2.setBounds(new Rectangle(218, 237, 131, 27));  
jButton2.setText("Exercise 4");  
jButton2.addActionListener(new LockUnlock_jButton2_actionAdapter(this));  
jTextField3.setText("");  
jTextField3.setBounds(new Rectangle(106, 105, 58, 21));  
jLabel3.setText("MoShu");  
jLabel3.setBounds(new Rectangle(36, 106, 86, 18));  
contentPane.add(jLabel1, null);  
contentPane.add(jButton2, null);  
contentPane.add(jButton1, null);  
contentPane.add(jLabel3, null);  
contentPane.add(jTextField2, null);  
contentPane.add(jLabel2, null);  
contentPane.add(jTextField3, null);  
contentPane.add(jTextField1, null);  
}  
//Get Applet information  
public String getAppletInfo() {  
return "Applet Information";  
}  
//Get parameter info  
public String[][] getParameterInfo() {  
return null;  
}  
//Main method  
public static void main(String[] args) {  
LockUnlock applet = new LockUnlock();  
applet.isStandalone = true;  
JFrame frame = new JFrame();  
//EXIT_ON_CLOSE == 3  
frame.setDefaultCloseOperation(3);  
frame.setTitle("Applet Frame");  
frame.getContentPane().add(applet, BorderLayout.CENTER);  
applet.init();  
applet.start();  
frame.setSize(400,320);  
Dimension d = Toolkit.getDefaultToolkit().getScreenSize();  
frame.setLocation((d.width - frame.getSize().width) / 2, (d.height - frame.getSize().height) / 2);  
frame.setVisible(true);  
}  
//static initializer for setting look & feel  
static {  
try {  
//UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());  
//UIManager.setLookAndFeel(UIManager.getCrossPlatformLookAndFeelClassName());  
}  
catch(Exception e) {  
}  
}  
//Declare DataMember  
int index;  
//-----------------------------------------------------  
JPanel contentPane;  
JLabel jLabel1 = new JLabel();  
JLabel jLabel2 = new JLabel();  
JTextField jTextField2 = new JTextField();  
JTextField jTextField1 = new JTextField();  
JButton jButton1 = new JButton();  
JButton jButton2 = new JButton();  
JTextField jTextField3 = new JTextField();  
JLabel jLabel3 = new JLabel();  
//----------------------N!------------------------------  
public int function(int N){  
if(N==1)  
return 1;  
else{  
return N*function(N-1);  
/*不是RETURN function(N-1);  
而是 N*function(N-1);*/  
}  
}  
//-----------用递归法求一个串的全排列-----------------------  
public void Arrange(String prefix,String suffix,int[] Array){  
String newPrefix,newSuffix;  
int numOfChars =suffix.length();  
if(numOfChars==1){  
Array[index]=Integer.parseInt(prefix+suffix);  
index++;  
}  
else{  
for(int i=1; i<=numOfChars;i++){  
newSuffix=suffix.substring(1,numOfChars);  
newPrefix=prefix+suffix.charAt(0);  
Arrange(newPrefix,newSuffix,Array);  
suffix=newSuffix+suffix.charAt(0);  
}  
}  
}  
//----------Arrange From the Min to the Max------------------  
/*public void RankForArrange(int[] Array){  
int bottom=Array.length-1 ;  
int temp;  
for(int i=bottom;i>0;i--){  
for(int j=0;jif(Array[j]>Array[j+1]){  
temp =Array[j];  
Array[j] =Array[j+1];  
Array[j+1]=temp;  
}  
}  
}  
}  
*/  
//-------------------Find the aim number----------------------  
public int FindAim(int aim,int[] Array){  
boolean isFound=false;  
int location=0;  
int length=Array.length ;  
for(int i=0;iif(Array[i]==aim){  
location=i;  
isFound =true;  
}  
}  
if(isFound)  
return location;  
else  
System.out.println("Not Found");  
return location;  
/*在if里return 不行吗?*/  
}  
//------------------Creat String-------------------------------  
public String CreatString(int length){  
StringBuffer BufString=new StringBuffer();  
for(int i=1;i<=length;i++){  
BufString.append(i) ;  
}  
return BufString.toString();  
}  
//-----------OutPut Result--------------------  
public void OutPutResult1(){  
index = 0; //clear to 0  
String AimString, prefix;  
AimString = jTextField1.getText();  
int Length = AimString.length();  
String strLength = String.valueOf(Length);  
int Aim = Integer.parseInt(AimString);  
/* 方法.parseInt才是转换为int类型  
而不是.getInteger*/  
int[] EachArrange = new int[this.function(Length)];  
jTextField2.setText(strLength);  
prefix = ""; //Make an empty String  
if (AimString.length() > 2 &&  
AimString.length() < 9 && AimString != "") {  
Arrange(prefix, AimString, EachArrange);  
//RankForArrange(EachArrange);  
Arrays.sort(EachArrange);  
String result = String.valueOf(FindAim(Aim, EachArrange));  
jTextField3.setText(result);  
}  
else {  
System.out.println("Your String is too short");  
}  
}  
//----------Out put result 2---------------------  
public void OutPutRestlt2(){  
index=0;//Let index come back to 0  
String strLength, strMoShu,  
AimString, prefix,suffix;  
int Length, MoShu,limit;  
strLength = jTextField2.getText();  
strMoShu = jTextField3.getText();  
Length = Integer.parseInt(strLength);  
MoShu = Integer.parseInt(strMoShu);  
limit = function(Length);  
int[] EachArrange = new int[this.function(Length)];  
if (Length > 2&&Length<9&&  
strLength!=""&&strMoShu!=""  
&&MoShuprefix = "";  
suffix =CreatString(Length);  
Arrange(prefix, suffix, EachArrange);  
Arrays.sort(EachArrange);  
String strResult=String.valueOf(EachArrange[MoShu]);  
jTextField1.setText(strResult);  
}  
else  
System.out.println("Input Ouf MoShu, Try again") ;  
}  
void jButton1_actionPerformed(ActionEvent e) {  
this.OutPutResult1();  
}  
void jButton2_actionPerformed(ActionEvent e) {  
this.OutPutRestlt2();  
}  
//-----------------------------------------------------------  
}  
class LockUnlock_jButton1_actionAdapter implements java.awt.event.ActionListener {  
LockUnlock adaptee;  
LockUnlock_jButton1_actionAdapter(LockUnlock adaptee) {  
this.adaptee = adaptee;  
}  
public void actionPerformed(ActionEvent e) {  
adaptee.jButton1_actionPerformed(e);  
}  
}  
class LockUnlock_jButton2_actionAdapter implements java.awt.event.ActionListener {  
LockUnlock adaptee;  
LockUnlock_jButton2_actionAdapter(LockUnlock adaptee) {  
this.adaptee = adaptee;  
}  
public void actionPerformed(ActionEvent e) {  
adaptee.jButton2_actionPerformed(e);  
}  
}