加密與解密 (JAVA課程設(shè)計 2011)(共14頁)_第1頁
加密與解密 (JAVA課程設(shè)計 2011)(共14頁)_第2頁
加密與解密 (JAVA課程設(shè)計 2011)(共14頁)_第3頁
加密與解密 (JAVA課程設(shè)計 2011)(共14頁)_第4頁
加密與解密 (JAVA課程設(shè)計 2011)(共14頁)_第5頁
已閱讀5頁,還剩9頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

1、 軟 件 學(xué) 院課程設(shè)計報告書課程名稱 面向?qū)ο蟪绦蛟O(shè)計(chn x sh j) 設(shè)計(shj)題目 加密(ji m)與解密 專業(yè)班級 學(xué) 號 姓 名 指導(dǎo)教師 2011年 6 月目錄(ml) TOC o 1-3 h z u HYPERLINK l _Toc295575008 1 設(shè)計(shj)時間 PAGEREF _Toc295575008 h 3 HYPERLINK l _Toc295575009 2011年6月8號 PAGEREF _Toc295575009 h 3 HYPERLINK l _Toc295575010 2 設(shè)計(shj)目的 PAGEREF _Toc295575010 h

2、 3 HYPERLINK l _Toc295575011 3 設(shè)計任務(wù) PAGEREF _Toc295575011 h 3 HYPERLINK l _Toc295575011 4 設(shè)計內(nèi)容 PAGEREF _Toc295575011 h 3 HYPERLINK l _Toc295575012 4.1 設(shè)計題目 PAGEREF _Toc295575012 h 3 HYPERLINK l _Toc295575012 4.2 功能實現(xiàn) PAGEREF _Toc295575012 h 3 HYPERLINK l _Toc295575012 4.3 程序模塊 PAGEREF _Toc295575012

3、h 34.4 程序頁面44.5 程序源代碼6 HYPERLINK l _Toc295575013 5 總結(jié)與展望 PAGEREF _Toc295575013 h 13 HYPERLINK l _Toc295575014 參考文獻(xiàn) PAGEREF _Toc295575014 h 13 HYPERLINK l _Toc295575015 成績評定 PAGEREF _Toc295575015 h 141 設(shè)計時間2011年6月8號2 設(shè)計目的通過實踐加深學(xué)生對面向?qū)ο蟪绦蛟O(shè)計的理論、方法和基礎(chǔ)知識的理解,掌握使用Java語言進(jìn)行面向?qū)ο笤O(shè)計的基本方法,提高運(yùn)用面向?qū)ο笾R分析實際問題、解決實際問題的

4、能力,提高學(xué)生的應(yīng)用能力。3 設(shè)計任務(wù)加密與解密要求:采用圖形用戶界面,建立菜單(1)給定任意一個文本文件,進(jìn)行加密,生成另一個文件。(2)對加密后的文件還原。4 設(shè)計內(nèi)容 4.1 設(shè)計題目 加密與解密 4.2 功能實現(xiàn) 給定任意一個文本文件,進(jìn)行加密,生成另一個文件。對加密后的文件還原。4.3 程序模塊創(chuàng)建框架內(nèi)容并注冊監(jiān)聽器執(zhí)行監(jiān)聽器創(chuàng)建對象執(zhí)行構(gòu)造方法主函數(shù)結(jié)束開始4.4 程序界面4.5 程序源代碼import java.awt.*;import java.awt.event.*;import java.io.*;import javax.swing.*;public class Key

5、 extends JFrame int b;JTextField lujin, key;JTextArea nr;JRadioButton qu, xie;ButtonGroup fz;File f;public Key() Container c = getContentPane(); JPanel jp1 = new JPanel(); JLabel jl1 = new JLabel(輸入路徑); lujin = new JTextField(15); JButton xuanz = new JButton(選擇); jp1.add(jl1); jp1.add(lujin); jp1.ad

6、d(xuanz); c.add(jp1, BorderLayout.NORTH); nr = new JTextArea(); c.add(new JScrollPane(nr), BorderLayout.CENTER); qu = new JRadioButton(寫入); xie = new JRadioButton(取出, true); fz = new ButtonGroup(); fz.add(qu); fz.add(xie); JLabel jl2 = new JLabel(密鑰); key = new JTextField(15); JButton jiami = new JB

7、utton(加密); JButton jiemi = new JButton(解密); JPanel jp4 = new JPanel(); jp4.setLayout(new GridLayout(2, 1, 5, 5); JPanel jp2 = new JPanel(); jp2.add(jl2); jp2.add(key); jp2.add(jiami); jp2.add(jiemi); jp4.add(jp2); JPanel jp3 = new JPanel(); JButton queding = new JButton(確定); jp3.add(qu); jp3.add(xie

8、); jp3.add(queding); jp4.add(jp3); c.add(jp4, BorderLayout.SOUTH); queding.addActionListener(new ActionListener() public void actionPerformed(ActionEvent event) jian(); if (qu.isSelected() shuchu(); if (xie.isSelected() qu(); ); xuanz.addActionListener(new ActionListener() public void actionPerforme

9、d(ActionEvent event) JFileChooser fileChooser = new JFileChooser(); / 實例化文件選擇器 fileChooser .setFileSelectionMode(JFileChooser.FILES_AND_DIRECTORIES); / 設(shè)置文件選擇模式,此處為文件和目錄均可 if (fileChooser.showOpenDialog(Key.this) = JFileChooser.APPROVE_OPTION) / 彈出文件選擇器,并判斷是否點(diǎn)擊了打開按鈕 String fileName = fileChooser.get

10、SelectedFile() .getAbsolutePath(); / 得到選擇文件或目錄的絕對路徑 lujin.setText(fileName); ); jiemi.addActionListener(new ActionListener() public void actionPerformed(ActionEvent event) ObjectInputStream input; try input = new ObjectInputStream(new FileInputStream(lujin .getText(); int mima = Integer.parseInt(key

11、.getText(); AA ac = (AA) input.readObject(); if (ac.getShu() = mima) nr.setText(ac.cc); shuchu(); else nr.setText(錯誤的key); catch (Exception e) nr.setText(無法解密); ); jiami.addActionListener(new ActionListener() public void actionPerformed(ActionEvent event) AA a = new AA(nr.getText(); key.setText(a.sh

12、u + ); try ObjectOutputStream output = new ObjectOutputStream( new FileOutputStream(lujin.getText(); output.writeObject(a); output.flush(); output.close(); qu(); baocun(); catch (Exception e) nr.setText(請選擇加密文件保存地址,文件不存在或者無法加密文件,加密文件不能含有換行); ); setLocation(300,300); setSize(380, 350); setVisible(tru

13、e); public void jian() f = new File(lujin.getText(); try f.createNewFile(); catch (IOException e) JOptionPane.showMessageDialog(null, 路徑錯誤); public void shuchu() try FileOutputStream out = new FileOutputStream(f); byte buf = nr.getText().getBytes(); try out.write(buf); out.flush(); out.close(); catc

14、h (IOException e) catch (FileNotFoundException e) public void qu() try FileInputStream in = new FileInputStream(f); int a = (int) f.length(); byte buf = new bytea; try int len = in.read(buf); if (len 0) nr.setText(new String(buf, 0, len); else System.out.println(文件為空); catch (IOException e) catch (F

15、ileNotFoundException e) public static void main(String arge) Key s= new Key(); s.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);public void baocun() AA a = new AA(); b = a.getShu(); a.shu = b;class AA implements Serializable String cc;public int shu;public AA() public int getShu() return shu;public void setShu(int shu) this.shu = shu;public AA(String a) cc = a; int zu = 1, 2, 3, 4, 5, 6, 7, 8, 9 ; for (int i = 0; i 1000; i+) int second = (int) (Math.random() * 9

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論