java的ejb_java EJB 加密与解密原理的一个例子

java EJB 加密与解密原理的一个例子

加密与解密原理的一个例子

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;j

if(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;i

if(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() 

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!=""

&&MoShu

prefix = "";

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);

}

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值