当前位置: 首页 > 图文教程 > 网络编程 > PHP > java EJB 加密与解密原理的一个例子

PHP
php zlib压缩和解压缩swf文件的代码
PHP 常用函数库和一些实用小技巧
php 时间计算问题小结
php 禁止页面缓存输出
PHP 地址栏信息的获取代码
据说是雅虎的一份PHP面试题附答案
PHP setcookie() cannot modify header information 的解决方法
Google PR查询接口checksum新算法
php zend 相对路径问题
php mssql 时间格式问题
php str_pad 函数使用详解
php strtotime 函数UNIX时间戳
php array_intersect()函数使用代码
PHP mkdir()定义和用法
php array_flip() 删除数组重复元素
php完全过滤HTML,JS,CSS等标签
php 删除数组元素
PHP $_SERVER详解
php 动态多文件上传
防止MySQL注入或HTML表单滥用的PHP程序

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


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-09-13   浏览: 170 ::
收藏到网摘: n/a

加密与解密原理的一个例子
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);
}
}