DES加密解密Java代码文档格式.docx

上传人:b****1 文档编号:13160695 上传时间:2022-10-07 格式:DOCX 页数:6 大小:32.78KB
下载 相关 举报
DES加密解密Java代码文档格式.docx_第1页
第1页 / 共6页
DES加密解密Java代码文档格式.docx_第2页
第2页 / 共6页
DES加密解密Java代码文档格式.docx_第3页
第3页 / 共6页
DES加密解密Java代码文档格式.docx_第4页
第4页 / 共6页
DES加密解密Java代码文档格式.docx_第5页
第5页 / 共6页
点击查看更多>>
下载资源
资源描述

DES加密解密Java代码文档格式.docx

《DES加密解密Java代码文档格式.docx》由会员分享,可在线阅读,更多相关《DES加密解密Java代码文档格式.docx(6页珍藏版)》请在冰豆网上搜索。

DES加密解密Java代码文档格式.docx

importjavax.swing.JFrame;

importjavax.swing.JMenu;

importjavax.swing.JMenuBar;

importjavax.swing.JMenuItem;

importjavax.swing.JScrollPane;

importjavax.swing.JTextArea;

importjavax.swing.ScrollPaneConstants;

publicclassDES{

publicstaticvoidmain(Stringargs[]){

DemoWindow1dw=newDemoWindow1("

DES加密程序"

);

dw.setBounds(dw.getToolkit().getScreenSize().width/3,dw.getToolkit()

.getScreenSize().height/3,

dw.getToolkit().getScreenSize().width/3,dw.getToolkit()

.getScreenSize().height/3);

dw.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

dw.setVisible(true);

}

}

classDemoWindow1extendsJFrameimplementsActionListener{

JTextAreajta=newJTextArea();

//设置文本区的滚动条

intv=ScrollPaneConstants.VERTICAL_SCROLLBAR_AS_NEEDED;

inth=ScrollPaneConstants.HORIZONTAL_SCROLLBAR_AS_NEEDED;

JScrollPanejsp=newJScrollPane(jta,v,h);

//菜单

JMenuBarmenuBar=newJMenuBar();

JMenumainMenu=newJMenu("

DES加密"

JMenuItemgenerateItem=newJMenuItem("

生成密钥"

JMenuItemencryptItem=newJMenuItem("

加密信息"

JMenuItemdecryptItem=newJMenuItem("

解密信息"

//构造函数

publicDemoWindow1(Stringtitle){

super(title);

//添加菜单

mainMenu.add(generateItem);

mainMenu.addSeparator();

mainMenu.add(encryptItem);

mainMenu.add(decryptItem);

menuBar.add(mainMenu);

setJMenuBar(menuBar);

//添加文本区

add(jsp);

//添加事件监听

generateItem.addActionListener(this);

encryptItem.addActionListener(this);

decryptItem.addActionListener(this);

publicvoidactionPerformed(ActionEvente){

//TODOAuto-generatedmethodstub

if(e.getSource()==generateItem){

try{

//保存密钥文件的目录路径(主要用来设置密钥的保存路径)

StringfileName=null;

//设置文件选择对话框

JFileChooserjfc=newJFileChooser();

jfc.setDialogTitle("

保存密钥"

//该文件选择对话框只能打开文件目录

jfc.setFileSelectionMode(JFileChooser.DIRECTORIES_ONLY);

//如果选中,则获取选择的目录名称

if(jfc.showSaveDialog(this)==JFileChooser.APPROVE_OPTION){

fileName=jfc.getSelectedFile().getPath();

}

//如果没有选择目录,则退出

if(fileName==null){

return;

//判断目录是否存在,如果不存在,则创建

Filefile=newFile(fileName);

if(!

file.exists())

file.mkdir();

//创建DES密钥生成器

KeyGeneratorkeyGen=KeyGenerator.getInstance("

DES"

//采用56位DES密钥

keyGen.init(56);

//生成DES密钥

Keykey=keyGen.generateKey();

System.out.println(key);

//将密钥存储到指定目录下的“密钥.dat"

文件中

ObjectOutputStreamout=newObjectOutputStream(

newFileOutputStream(fileName+"

/密钥.dat"

));

out.writeObject(key);

out.close();

}catch(Exceptione1){

//TODOAuto-generatedcatchblock

e1.printStackTrace();

}

}elseif(e.getSource()==encryptItem){

//读取密钥文件的完整路径

导入密钥文件"

//如果选中,则获取选择文件的完整路径

if(jfc.showOpenDialog(this)==JFileChooser.APPROVE_OPTION){

//如果没有选择文件,则退出

//读取密钥文件

ObjectInputStreamin=newObjectInputStream(

newFileInputStream(fileName));

Keykey=(Key)in.readObject();

//创建DES加密器

Ciphercipher=Cipher.getInstance("

//设置加密模式

cipher.init(Cipher.ENCRYPT_MODE,key);

//生成密文,存放在cipherText字节数组中

byte[]cipherText=cipher.doFinal(jta.getText().getBytes(

"

UTF-8"

jfc=newJFileChooser();

保存加密文本内容"

//如果选中,则获取选择的文件的完整路径

if(fileName==null)

//将密文存储到指定文件中

FileOutputStreamfos=newFileOutputStream(fileName,false);

fos.write(cipherText);

fos.close();

}elseif(e.getSource()==decryptItem){

打开加密文本内容"

//如果没有选择文件,就退出

//读取密文

FileInputStreamfis=newFileI

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 考试认证 > IT认证

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1