用Java实现的字符串简单加密
2006-01-02 13:56
846 查看
//用Java实现的字符串简单加密:
//用一个字符串 Key 加密原串
//请高手提提意见哦
//JDK 5.0编译通过
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
import java.io.*;
import javax.swing.border.*;
class Mima{
char key;
public static void main(String[] args) throws Exception{
new Mima();
}
public Mima(){
MyGui tw = new MyGui("文件加密对话框");
tw.setVisible(true);
}
//加密
public String jiaMi(String s,String key){
String str = "";
int ch;
if(key.length() == 0){
return s;
}
else if(!s.equals(null)){
for(int i = 0,j = 0;i < s.length();i++,j++){
if(j > key.length() - 1){
j = j % key.length();
}
ch = s.codePointAt(i) + key.codePointAt(j);
if(ch > 65535){
ch = ch % 65535;//ch - 33 = (ch - 33) % 95 ;
}
str += (char)ch;
}
}
return str;
}
//解密
public String jieMi(String s,String key){
String str = "";
int ch;
if(key.length() == 0){
return s;
}
else if(!s.equals(key)){
for(int i = 0,j = 0;i < s.length();i++,j++){
if(j > key.length() - 1){
j = j % key.length();
}
ch = (s.codePointAt(i) + 65535 - key.codePointAt(j));
if(ch > 65535){
ch = ch % 65535;//ch - 33 = (ch - 33) % 95 ;
}
str += (char)ch;
}
}
return str;
}
class MyGui extends JFrame
{
JButton b1 = new JButton("Encrypt");
JButton b2 = new JButton("Decrypt");
Panel pan1 = new Panel();
Panel pan2 = new Panel();
Panel pan3 = new Panel();
Panel pan4 = new Panel();
Panel pan5 = new Panel();
//
Label label1 = new Label("Sourse File");
Label label2 = new Label("Obj File");
Label label3 = new Label("Key:");
TextArea tf1 = new TextArea("Text Area 1",4,30,TextArea.SCROLLBARS_VERTICAL_ONLY);
TextArea tf2 = new TextArea("Text Area 2",4,30,TextArea.SCROLLBARS_VERTICAL_ONLY);
TextField tf3 = new TextField("key ");
Toolkit theKit = getToolkit();
public MyGui()
{
init();
}
public MyGui(String title)
{
super(title);
init();
}
private void init()
{
setLayout(new BorderLayout());
pan1.setLayout(new GridLayout(1,2));
//
label1.setBackground(new Color(220,220,220));
label2.setBackground(new Color(220,220,220));
label3.setBackground(new Color(220,220,220));
//
tf3.setEchoChar('*');
//
Dimension wndSize = theKit.getScreenSize();
setBounds(wndSize.width/4,wndSize.height/4,
wndSize.width/2,wndSize.height/4);
setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE);
//LookAndFeel
setUndecorated(true);
getRootPane().setWindowDecorationStyle(JRootPane.FRAME);
//加密
b1.setToolTipText("加密");
b1.setMnemonic('E');
b1.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e){
tf2.setText(jiaMi(tf1.getText(),tf3.getText()));
//tf3.setText("");
}
});
b1.addMouseListener(new MouseAdapter(){
public void mouseClicked(MouseEvent e){
tf2.setText(jiaMi(tf1.getText(),tf3.getText()));
//tf3.setText("");
}
});
//解密
b2.setToolTipText("解密");
b2.setMnemonic('D');
b2.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e){
tf2.setText(jieMi(tf1.getText(),tf3.getText()));
//tf3.setText("");
}
});
b2.addMouseListener(new MouseAdapter(){
public void mouseClicked(MouseEvent e){
tf2.setText(jieMi(tf1.getText(),tf3.getText()));
//tf3.setText("");
}
});
//
pan1.add(pan2);
pan1.add(pan3);
pan2.add(label1);
pan3.add(label2);
pan4.add(tf1);
pan4.add(tf2);
pan5.add(b1);
pan5.add(b2);
pan5.add(label3);
pan5.add(tf3);
//.
add("North",pan1);
add("South",pan5);
add("Center",pan4);
}
}
}
//用一个字符串 Key 加密原串
//请高手提提意见哦
//JDK 5.0编译通过
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
import java.io.*;
import javax.swing.border.*;
class Mima{
char key;
public static void main(String[] args) throws Exception{
new Mima();
}
public Mima(){
MyGui tw = new MyGui("文件加密对话框");
tw.setVisible(true);
}
//加密
public String jiaMi(String s,String key){
String str = "";
int ch;
if(key.length() == 0){
return s;
}
else if(!s.equals(null)){
for(int i = 0,j = 0;i < s.length();i++,j++){
if(j > key.length() - 1){
j = j % key.length();
}
ch = s.codePointAt(i) + key.codePointAt(j);
if(ch > 65535){
ch = ch % 65535;//ch - 33 = (ch - 33) % 95 ;
}
str += (char)ch;
}
}
return str;
}
//解密
public String jieMi(String s,String key){
String str = "";
int ch;
if(key.length() == 0){
return s;
}
else if(!s.equals(key)){
for(int i = 0,j = 0;i < s.length();i++,j++){
if(j > key.length() - 1){
j = j % key.length();
}
ch = (s.codePointAt(i) + 65535 - key.codePointAt(j));
if(ch > 65535){
ch = ch % 65535;//ch - 33 = (ch - 33) % 95 ;
}
str += (char)ch;
}
}
return str;
}
class MyGui extends JFrame
{
JButton b1 = new JButton("Encrypt");
JButton b2 = new JButton("Decrypt");
Panel pan1 = new Panel();
Panel pan2 = new Panel();
Panel pan3 = new Panel();
Panel pan4 = new Panel();
Panel pan5 = new Panel();
//
Label label1 = new Label("Sourse File");
Label label2 = new Label("Obj File");
Label label3 = new Label("Key:");
TextArea tf1 = new TextArea("Text Area 1",4,30,TextArea.SCROLLBARS_VERTICAL_ONLY);
TextArea tf2 = new TextArea("Text Area 2",4,30,TextArea.SCROLLBARS_VERTICAL_ONLY);
TextField tf3 = new TextField("key ");
Toolkit theKit = getToolkit();
public MyGui()
{
init();
}
public MyGui(String title)
{
super(title);
init();
}
private void init()
{
setLayout(new BorderLayout());
pan1.setLayout(new GridLayout(1,2));
//
label1.setBackground(new Color(220,220,220));
label2.setBackground(new Color(220,220,220));
label3.setBackground(new Color(220,220,220));
//
tf3.setEchoChar('*');
//
Dimension wndSize = theKit.getScreenSize();
setBounds(wndSize.width/4,wndSize.height/4,
wndSize.width/2,wndSize.height/4);
setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE);
//LookAndFeel
setUndecorated(true);
getRootPane().setWindowDecorationStyle(JRootPane.FRAME);
//加密
b1.setToolTipText("加密");
b1.setMnemonic('E');
b1.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e){
tf2.setText(jiaMi(tf1.getText(),tf3.getText()));
//tf3.setText("");
}
});
b1.addMouseListener(new MouseAdapter(){
public void mouseClicked(MouseEvent e){
tf2.setText(jiaMi(tf1.getText(),tf3.getText()));
//tf3.setText("");
}
});
//解密
b2.setToolTipText("解密");
b2.setMnemonic('D');
b2.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e){
tf2.setText(jieMi(tf1.getText(),tf3.getText()));
//tf3.setText("");
}
});
b2.addMouseListener(new MouseAdapter(){
public void mouseClicked(MouseEvent e){
tf2.setText(jieMi(tf1.getText(),tf3.getText()));
//tf3.setText("");
}
});
//
pan1.add(pan2);
pan1.add(pan3);
pan2.add(label1);
pan3.add(label2);
pan4.add(tf1);
pan4.add(tf2);
pan5.add(b1);
pan5.add(b2);
pan5.add(label3);
pan5.add(tf3);
//.
add("North",pan1);
add("South",pan5);
add("Center",pan4);
}
}
}
相关文章推荐
- 用Java实现的字符串简单加密
- 用java编写一个简单的字符串加密解密程序,将字符串分成若干行,实现字符串以一列一列读取,并还原之前输入的字符串。这里实现4行输出。
- Java实现的简单字符串加密工具
- Java简单实现对一串数字采用相应的加密策略后传输
- Java:字符串简单加密专成16进制在转回来
- Java实现的简单加密类
- 使用异或进行简单的密码加密(JAVA实现)
- java 加密解密简单实现
- md5`加密1:java简单实现
- RSA算法简单实现加密、解密、签名、验证(原创Java程序)
- 最简单的字符串加密C#实现-移位加密
- java实现简单的异或操作(用于文件简单加密)
- Java 详解单向加密--MD5、SHA和HMAC及简单实现实例
- JAVA简单实现MD5注册登录加密实例代码
- java实现字符串非对称加密(私钥加密,公钥解密并对比)
- 问题1:java中没有实现这种“byte a = 0xB2 --> String b = “B2””转换的简单实现需要自己实现。 答:自己编写的转换函数,思路将byte的高低4位分开,分别转换为对应的字符然后合成返回的字符串。 java 代码 1.
- java简单实现测试程序执行时间及日期转换字符串
- Java 加密解密简单实现
- Qt与Java实现Tcp网络通信,收发简单字符串。
- java 加密解密简单实现