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


Posted in PHP onJanuary 11, 2008

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

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<i;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<length;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() < 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!="" 
&&MoShu<limit) { 
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); 

}

PHP 相关文章推荐
使用adodb lite解决问题
Dec 31 PHP
PHP 数据库树的遍历方法
Feb 06 PHP
php缩小png图片不损失透明色的解决方法
Dec 25 PHP
PHP批量上传图片的具体实现方法介绍.
Feb 26 PHP
微信公众号开发之微信公共平台消息回复类实例
Nov 14 PHP
微信API接口大全
Apr 15 PHP
PHP匿名函数和use子句用法实例
Mar 16 PHP
PHP中读取文件的几个方法总结(推荐)
Jun 03 PHP
php实现的http请求封装示例
Nov 08 PHP
详解PHP 二维数组排序保持键名不变
Mar 06 PHP
thinkphp 5框架实现登陆,登出及session登陆状态检测功能示例
Oct 10 PHP
laravel 自定义常量的两种方案
Oct 14 PHP
apache rewrite_module模块使用教程
Jan 10 #PHP
支持php4、php5的mysql数据库操作类
Jan 10 #PHP
让PHP支持页面回退的两种方法
Jan 10 #PHP
php下使用SMTP发邮件的代码
Jan 10 #PHP
ZF等常用php框架中存在的问题
Jan 10 #PHP
逐步提升php框架的性能
Jan 10 #PHP
在PHP中使用Sockets 从Usenet中获取文件
Jan 10 #PHP
You might like
PHP中获取变量的变量名的一段代码的bug分析
2011/07/07 PHP
抓取并下载CSS中所有图片文件的php代码
2011/09/26 PHP
file_get_contents获取不到网页内容的解决方法
2013/03/07 PHP
php实现网页端验证码功能
2017/07/11 PHP
PHP使用SOAP调用API操作示例
2018/12/25 PHP
纯CSS3实现质感细腻丝滑按钮
2021/03/09 HTML / CSS
JQuery1.6 使用方法三
2011/11/23 Javascript
JS对img进行操作(换图片/切图/轮换/停止)
2013/04/17 Javascript
javaScript面向对象继承方法经典实现
2013/08/20 Javascript
Angular的Bootstrap(引导)和Compiler(编译)机制
2016/06/20 Javascript
利用Node.js对文件进行重命名
2017/03/12 Javascript
JS触摸与手势事件详解
2017/05/09 Javascript
JS实现导出Excel的五种方法详解【附源码下载】
2018/03/15 Javascript
基于Angularjs-router动态改变Title值的问题
2018/08/30 Javascript
微信小程序结合mock.js实现后台模拟及调试
2019/03/28 Javascript
nodeJs的安装与npm全局环境变量的配置详解
2020/01/06 NodeJs
Javascript组合继承方法代码实例解析
2020/04/02 Javascript
node.js +mongdb实现登录功能
2020/06/18 Javascript
简单介绍Python中的floor()方法
2015/05/15 Python
python随机取list中的元素方法
2018/04/08 Python
Python解析并读取PDF文件内容的方法
2018/05/08 Python
Win8下python3.5.1安装教程
2020/07/29 Python
浅谈PyQt5中异步刷新UI和Python多线程总结
2019/12/13 Python
Python实现括号匹配方法详解
2020/02/10 Python
使用Python打造一款间谍程序的流程分析
2020/02/21 Python
Pytorch mask-rcnn 实现细节分享
2020/06/24 Python
python中查看.db文件中表格的名字及表格中的字段操作
2020/07/07 Python
美国销售第一的智能手机和平板电脑保护壳:OtterBox
2017/12/21 全球购物
施华洛世奇日本官网:SWAROVSKI日本
2018/05/04 全球购物
民生工程实施方案
2014/03/22 职场文书
党委班子纠正“四风”问题整改措施
2014/10/28 职场文书
公司与个人合作协议书
2016/03/19 职场文书
什么是检讨书?检讨书的格式及范文
2019/11/05 职场文书
javascript数组includes、reduce的基本使用
2021/07/02 Javascript
TV动画《间谍过家家》公开PV
2022/03/20 日漫
vue ref如何获取子组件属性值
2022/03/31 Vue.js