java課程設(shè)計(jì)--加密與解密_第1頁(yè)
已閱讀1頁(yè),還剩21頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、<p>  11精算2012-2013(二)</p><p>  《Java程序設(shè)計(jì)》課程設(shè)計(jì)</p><p>  設(shè)計(jì)題目  加密與解密 </p><p>  設(shè)計(jì)時(shí)間  2013.6.23 至 2013.6.29 </p><p>  學(xué)生姓名 

2、 </p><p>  學(xué)生學(xué)號(hào)  </p><p>  所在班級(jí)  </p><p>  指導(dǎo)教師  </p><p><b>  摘要</b></p><p>  隨著網(wǎng)絡(luò)

3、技術(shù)的不斷發(fā)展,人們的個(gè)人信息、網(wǎng)絡(luò)間的文件傳遞、電子商務(wù)等方面都需要大力的保護(hù),文件加密技術(shù)也就隨之產(chǎn)生。文件的加密主要是由加密算法實(shí)現(xiàn),加密算法有多種,本程序設(shè)計(jì)對(duì)文件的加密使用的是最基礎(chǔ)的異或加密算法。</p><p>  Java語言具有簡(jiǎn)單、安全、可移植、面向?qū)ο蟆⒔选⒍嗑€程、體系結(jié)構(gòu)中立、解釋執(zhí)行、高性能、分布式和動(dòng)態(tài)等主要特點(diǎn)。本程序充分利用Java語言的特點(diǎn),針對(duì)當(dāng)下社會(huì)比較重視的文件加密,設(shè)計(jì)

4、了本程序。</p><p>  使用本程序可以對(duì)txt,word等多種文件進(jìn)行加密解密,使用便捷實(shí)用,功能完善,</p><p>  滿足了用戶對(duì)文件安全性的需求。</p><p>  關(guān)鍵詞 JAVA;加密;解密</p><p><b>  目 錄</b></p><p><b

5、>  1 需求分析4</b></p><p>  2 設(shè)計(jì)方法及設(shè)計(jì)方案5</p><p><b>  3 系統(tǒng)設(shè)計(jì)6</b></p><p>  3.1 程序流程圖6</p><p>  3.2 圖形用戶界面模塊7</p><p>  3.3 加密操作模塊7<

6、/p><p>  3.4解密操作模塊8</p><p>  3.5文件保存模塊8</p><p>  3.6文件選擇模塊9</p><p>  4 系統(tǒng)的開發(fā)和運(yùn)行環(huán)境11</p><p><b>  5 系統(tǒng)實(shí)現(xiàn)12</b></p><p><b>  5

7、.1加密12</b></p><p><b>  5.2 解密14</b></p><p>  5.3分析討論15</p><p>  6 總結(jié)與心得體會(huì)16</p><p><b>  參考文獻(xiàn)17</b></p><p><b>  附錄

8、18</b></p><p><b>  1 需求分析</b></p><p><b>  基本要求:</b></p><p>  1. 采用圖形用戶界面。</p><p>  2. 給定任意一個(gè)文本文件,進(jìn)行加密,生成另一個(gè)文件。</p><p>  3.對(duì)加密

9、后的文件還原。</p><p><b>  分析如下:</b></p><p>  1.向圖形用戶界面中添加組件。</p><p>  2.設(shè)置各個(gè)組件的布局。</p><p>  3. 添加窗口事件。</p><p>  4. 查找讀入及寫入文件,并顯示。</p><p>

10、;  5. 加密功能實(shí)現(xiàn)。</p><p>  6. 解密功能實(shí)現(xiàn)。</p><p>  2 設(shè)計(jì)方法及設(shè)計(jì)方案</p><p>  本程序采用傳統(tǒng)的異或加密算法,本程序采用的算法是一個(gè)對(duì)稱算法,即加密和解密用的是同一個(gè)算法。首先經(jīng)“打開”菜單項(xiàng),進(jìn)入文件選擇模塊,讀取字符流,輸出文本文檔后,在一個(gè)數(shù)組中,對(duì)字符進(jìn)行異或運(yùn)算,從而達(dá)到加密的效果。</p>

11、;<p>  本程序采用異或算法,降低程序的復(fù)雜度,使其更清晰,但功能依舊很強(qiáng)大。</p><p><b>  3 系統(tǒng)設(shè)計(jì)</b></p><p><b>  3.1 程序流程圖</b></p><p>  該程序的模塊調(diào)用十分簡(jiǎn)單明了,所以主程序的運(yùn)行也很清晰,以下就是主程序的詳細(xì)流程圖,如圖4-1所示&

12、lt;/p><p><b>  圖4-1流程圖</b></p><p>  3.2 圖形用戶界面模塊</p><p>  在圖形用戶界面,設(shè)置兩個(gè)面板,并分別設(shè)置顯示其組件的布局。設(shè)置兩個(gè)菜單項(xiàng),分別為“打開”和“保存”;設(shè)置兩個(gè)按鈕,分別為“加密”和“解密”;創(chuàng)建一個(gè)文本區(qū),用一個(gè)標(biāo)簽注明“文件瀏覽窗口”,這就是整個(gè)圖形用戶界面。</p&g

13、t;<p>  此外,還添加了一個(gè)窗口事件windowClosing,可以關(guān)閉運(yùn)行的程序。</p><p>  窗口事件的代碼實(shí)現(xiàn):</p><p>  addWindowListener(new WindowAdapter()</p><p><b>  {</b></p><p>  public vo

14、id windowClosing(WindowEvent e)</p><p><b>  {</b></p><p>  System.exit(0);</p><p><b>  }</b></p><p><b>  });</b></p><p&

15、gt;<b>  }</b></p><p>  3.3 加密操作模塊</p><p>  本程序采用簡(jiǎn)單的加密算法,即把從文本區(qū)獲得的文本文件,初始化,存放到一個(gè)數(shù)組中,然后進(jìn)行異或運(yùn)算,把結(jié)果重新存放于該數(shù)組中,從而顯現(xiàn)在“文件瀏覽窗口”中。</p><p><b>  代碼實(shí)現(xiàn):</b></p><

16、;p>  if(e.getSource()==button1)</p><p><b>  {</b></p><p>  char a[]=texta.getText().toCharArray();/*把texta中獲得的文本,進(jìn)行初始化,與原字符串長(zhǎng)度相等,并將該字符串對(duì)象的全部字符復(fù)制到該數(shù)組a[]中*/</p><p>  te

17、xta.setText(null);</p><p><b>  int n;</b></p><p>  char secret=' ';</p><p>  for(int i=0;i<a.length;i++)</p><p><b>  {</b></p>

18、<p>  char c=(char)(secret^a[i] ;//進(jìn)行異或運(yùn)算) </p><p>  texta.append(""+c);</p><p><b>  }</b></p><p><b>  }</b></p><p><b>  3

19、.4解密操作模塊</b></p><p>  解密操作其實(shí)同加密操作相同,依舊首先打開加密后的文件,使其顯示在文本區(qū)中,再同樣對(duì)數(shù)組里的元素進(jìn)行初始化,進(jìn)行異或運(yùn)算,即可得到解密后的文件,再顯示到“文件瀏覽窗口”中。</p><p>  入口參數(shù):指定文件路徑</p><p><b>  代碼實(shí)現(xiàn):</b></p>&

20、lt;p>  if(e.getSource()==button2)</p><p><b>  {</b></p><p>  char a[]=texta.getText().toCharArray();</p><p>  texta.setText(null);</p><p><b>  int

21、n;</b></p><p>  char secret=' ';</p><p>  for(int i=0;i<a.length;i++)</p><p><b>  {</b></p><p>  char c=(char)(secret^a[i]);//再次異或運(yùn)算,即還原<

22、;/p><p>  texta.append(""+c);</p><p><b>  }</b></p><p><b>  }</b></p><p><b>  3.5文件保存模塊</b></p><p>  本程序最大的特點(diǎn)就是:

23、可以選擇是否保存加密后的文本文件。因?yàn)榧用芎蟮奈募蕊@示在文本區(qū)中,之后選擇菜單項(xiàng)“保存”,即可彈出“保存對(duì)話框”,進(jìn)行查找寫入文件,寫入字符流,從而實(shí)現(xiàn)保存。</p><p><b>  代碼實(shí)現(xiàn):</b></p><p>  if(e.getSource()==itemSave)//查找寫入的文件</p><p><b>  {&

24、lt;/b></p><p>  filedialog_save.setVisible(true);</p><p>  if(filedialog_save.getFile()!=null)</p><p><b>  {</b></p><p><b>  try</b></p>

25、;<p><b>  {</b></p><p>  File file=new File(filedialog_save.getDirectory(),filedialog_save.getFile());</p><p>  FileWriter tofile=new FileWriter(file);//寫入字符流</p><p

26、>  BufferedWriter out=new BufferedWriter(tofile);</p><p>  out.write(texta.getText(),0,(texta.getText()).length());</p><p>  out.close();</p><p>  tofile.close();</p><

27、p><b>  }</b></p><p>  catch (IOException e2)</p><p><b>  {</b></p><p><b>  }</b></p><p><b>  }</b></p><p&g

28、t;<b>  }</b></p><p><b>  3.6文件選擇模塊</b></p><p>  同上個(gè)文件保存模塊類似,依舊在選擇菜單項(xiàng)“打開”后,查找讀入文件,讀取字符流,彈出“打開對(duì)話框”,從而可實(shí)現(xiàn)獲取文件。</p><p>  出口值:被選文件的路徑</p><p><b>

29、;  代碼實(shí)現(xiàn):</b></p><p>  public void actionPerformed(ActionEvent e)//查找讀入文件</p><p><b>  {</b></p><p>  if(e.getSource()==itemOpen)</p><p><b>  {<

30、;/b></p><p>  filedialog_load.setVisible(true);</p><p>  texta.setText(null);</p><p><b>  String s;</b></p><p>  if(filedialog_load.getFile()!=null)</

31、p><p><b>  {</b></p><p><b>  try</b></p><p><b>  {</b></p><p>  File file=new File(filedialog_load.getDirectory(),filedialog_load.getFi

32、le());</p><p>  FileReader file_reader=new FileReader(file);//讀取字符流</p><p>  BufferedReader in=new BufferedReader(file_reader);</p><p>  while((s=in.readLine())!=null)</p>&l

33、t;p>  texta.append(s+'\n');</p><p>  in.close();</p><p>  file_reader.close();</p><p><b>  }</b></p><p>  catch (IOException e1)</p><p

34、><b>  {</b></p><p><b>  }</b></p><p><b>  }</b></p><p><b>  }</b></p><p>  4 系統(tǒng)的開發(fā)和運(yùn)行環(huán)境</p><p>  開發(fā)軟件: E

35、clipse 6.5,JDK 1.7.0</p><p>  運(yùn)行環(huán)境: Windows 7 (windows xp 亦可)</p><p><b>  5 系統(tǒng)實(shí)現(xiàn)</b></p><p><b>  5.1加密</b></p><p>  首先在我機(jī)器C盤文件夾名為1的文件夾離創(chuàng)建一個(gè)名為Exa

36、mple.txt文本文件用做測(cè)試。</p><p>  運(yùn)行程序,彈出如圖5-1的對(duì)話框。</p><p><b>  圖5-1運(yùn)行程序</b></p><p>  點(diǎn)擊“文件”,選擇“打開”,即彈出“打開”對(duì)話框,選擇一個(gè)文本文件,如圖5-2。</p><p>  圖 5-2選擇加密文件</p><

37、p>  選擇文件后,即可在“文件瀏覽窗口”中顯示文本的信息,點(diǎn)擊“加密”按鈕,即可在“文件瀏覽窗口”看到加密后的文件(如圖5-3)。</p><p>  圖 5-3 生成加密文件</p><p>  對(duì)加密后的密文進(jìn)行保存,選擇“文件”下的“保存”,即可彈出“保存”對(duì)話框,選擇路徑,即可保存,如圖5-4和5-5所示。</p><p>  圖 5-4 保存加密文

38、</p><p>  圖 5-5 瀏覽加密文件</p><p><b>  5.2 解密</b></p><p>  解密操作中對(duì)文件選擇,密碼輸入和加密操作是一樣的。</p><p>  將剛剛加密的程序進(jìn)行解密,打開密文文件,選擇“加密與解密”窗口下“解密”按鈕,點(diǎn)擊,即可解密,如圖5-6所示。</p>

39、<p><b>  圖5-6 解密</b></p><p><b>  5.3分析討論</b></p><p>  在程序設(shè)計(jì)之初,考慮的是如何實(shí)現(xiàn)DES算法,但發(fā)現(xiàn) DES算法對(duì)于本次小程序來說,的確過于繁瑣,但當(dāng)我們發(fā)現(xiàn)采用簡(jiǎn)化后的DES算法----異或算法也可實(shí)現(xiàn)本功能,所以以后大大減少了工作量,可以說用Java語言是程序?qū)崿F(xiàn)

40、的一個(gè)成功之處。Java語言具有簡(jiǎn)單、安全、可移植、面向?qū)ο?、健壯、多線程、體系結(jié)構(gòu)中立、解釋執(zhí)行、高性能、分布式和動(dòng)態(tài)等主要特點(diǎn)。而且,我覺得隨著科技的不斷進(jìn)步,Java語言的優(yōu)越性會(huì)不斷地被挖掘出來,因?yàn)镴ava語言也是有生命的,它是不斷被人們的需求演變的越來越強(qiáng)大,這些,我覺得不言而喻。但往后,我想只有在不斷的使用以后才能體會(huì)到,在發(fā)現(xiàn)Java擁有秘密密鑰工廠后更是感受到它的強(qiáng)大。Java的JDK幫助文檔對(duì)于使用Java編程是非常

41、有幫助的,在我們編程過程中,遇到的一些不清楚的地方,都是靠它才得以解決,同時(shí)對(duì)Java語言的了解也更方便、深入了。</p><p>  程序利用Java圖形界面設(shè)計(jì)了一個(gè)方便用戶操作的窗口,使得程序運(yùn)行的時(shí)候更想是個(gè)封裝好的運(yùn)用程序,不過我知道離這個(gè)還是有很大距離的,而程序所要提升空間非常大,現(xiàn)在界面所能實(shí)現(xiàn)的也就幾個(gè)操作而已。但我們一致認(rèn)為:如果程序要再做的強(qiáng)大點(diǎn),可以引入其他的加密算法共用戶選擇,還可以設(shè)計(jì)成

42、同時(shí)對(duì)多個(gè)文件進(jìn)行加密,不過這只能放到我們課下對(duì)此進(jìn)行更深一步的研究了。</p><p>  程序的每個(gè)模塊實(shí)現(xiàn)的功能還算完整,層次間的調(diào)用還是比較清晰的,各個(gè)功能也得到了基本的實(shí)現(xiàn)。</p><p>  算法的時(shí)空分析,其實(shí)就是指算法的空間復(fù)雜度(包括時(shí)間復(fù)雜度和空間復(fù)雜度),其作用: 時(shí)間復(fù)雜度是度量算法執(zhí)行的時(shí)間長(zhǎng)短;而空間復(fù)雜度是度量算法所需存儲(chǔ)空間的大小。</p>

43、<p>  程序的時(shí)間復(fù)雜度理論上是算不出來的,必須經(jīng)過必須上機(jī)運(yùn)行測(cè)試才能知道。但我們不可能也沒有必要對(duì)每個(gè)算法都上機(jī)測(cè)試。但我們可以知道本算法其實(shí)是DES算法的簡(jiǎn)化,所以,肯定只需知道哪個(gè)算法花費(fèi)的時(shí)間多,哪個(gè)算法花費(fèi)的時(shí)間少就可以了,并且,一個(gè)算法花費(fèi)的時(shí)間與算法中語句的執(zhí)行次數(shù)成正比例,DES對(duì)64位的明文分組進(jìn)行操作,通過一個(gè)初始置換,將明文分組成左半部分Li和右半部分Ri,各32位長(zhǎng)。然后進(jìn)行16輪完全相同的運(yùn)算,

44、本程序直接采用數(shù)組,對(duì)其中的字符循環(huán)異或,只需進(jìn)行一輪,所以時(shí)間復(fù)雜度T(n)是比較小的??臻g復(fù)雜度O(n)也是一樣的,它是對(duì)程序占用內(nèi)存的分析,由公式T(n)=O(f(n))知,時(shí)間復(fù)雜度與空間復(fù)雜度均為O(n)。</p><p><b>  6 總結(jié)與心得體會(huì)</b></p><p>  這次課程設(shè)計(jì)的要求并不多,只要實(shí)現(xiàn)加密與解密功能,而且只需要采用一種加密算法

45、,但是為了本次課程設(shè)計(jì),我們組也搜索了大量的資料,并根據(jù)在課堂上,書本上,老師講過的知識(shí),結(jié)合自身主觀和客觀因素,制定了本次課程設(shè)計(jì)的目標(biāo),并齊心協(xié)力,完成了此次設(shè)計(jì)。</p><p>  通過本次的課程設(shè)計(jì),我們還知道了許多自身存在的不足,例如僅掌握了一種加密算法,但在日益發(fā)達(dá)的社會(huì)商業(yè)等領(lǐng)域,加密解密需要做的還非常多,并且Java領(lǐng)域博大精深,我們現(xiàn)在只是學(xué)到了它的一點(diǎn)皮毛而已,所以還需多多努力。</p

46、><p>  但是通過這些我還是學(xué)到了很多東西,先不說其他的,我最起碼最基礎(chǔ)的加密算法,而且以后可以運(yùn)用到自己想要保密的文件當(dāng)中去。</p><p>  通過這次課程設(shè)計(jì),我用JAVA語言實(shí)現(xiàn),我這是我對(duì)JAVA語言有了根深的了解鞏固了以前學(xué)到的知識(shí),也學(xué)習(xí)到了新的知識(shí),課程設(shè)計(jì)雖然暫告一個(gè)段落,但我們學(xué)習(xí)Java的步伐不會(huì)終止。</p><p><b>  

47、參考文獻(xiàn)</b></p><p>  [1] 丁振凡.《Java語言實(shí)用教程》北京郵電大學(xué)出版社.</p><p>  [2] 耿祥義.《Java2實(shí)用教程》清華大學(xué)出版社.</p><p>  [3] 趙付青.《Java面向?qū)ο蟪绦蛟O(shè)計(jì)》國(guó)防工業(yè)出版社.</p><p>  [4] 耿祥義.《Java課程設(shè)計(jì)》清華大學(xué)出版社.&

48、lt;/p><p><b>  附錄</b></p><p><b>  源代碼</b></p><p>  import java.awt.*;</p><p>  import java.awt.event.*;</p><p>  import java.io.*;<

49、/p><p>  import javax.swing.*;</p><p>  class Myframe extends Frame implements ActionListener {</p><p>  FileDialog filedialog_save,filedialog_load;</p><p>  Button button

50、1,button2;</p><p>  Label label;</p><p>  MenuBar bar;</p><p>  Menu menu;</p><p>  MenuItem itemOpen,itemSave;</p><p>  TextArea texta;</p><p&g

51、t;  Myframe(String s) //創(chuàng)建對(duì)話框</p><p><b>  {</b></p><p><b>  super(s);</b></p><p>  texta= new TextArea(38,160);</p><p>  button1= new Button(

52、"加密");</p><p>  button2= new Button("解密");</p><p>  menu=new Menu("文件");</p><p>  itemOpen=new MenuItem("打開");</p><p>  itemSave

53、=new MenuItem("保存");</p><p>  label=new Label("文件瀏覽窗口");</p><p>  itemOpen.addActionListener(this);</p><p>  itemSave.addActionListener(this);</p><p&g

54、t;  button1.addActionListener(this);</p><p>  button2.addActionListener(this);</p><p>  filedialog_save=new FileDialog(this,"保存文件對(duì)話框",FileDialog.SAVE);</p><p>  filedialog

55、_load=new FileDialog(this,"打開文件對(duì)話框",FileDialog.LOAD);</p><p>  filedialog_save.addWindowListener(new WindowAdapter()</p><p><b>  {</b></p><p>  public void win

56、dowClosing(WindowEvent e)</p><p><b>  {</b></p><p>  filedialog_save.setVisible(false);</p><p><b>  }</b></p><p><b>  });</b></p&

57、gt;<p>  filedialog_load.addWindowListener(new WindowAdapter()</p><p><b>  {</b></p><p>  public void windowClosing(WindowEvent e)</p><p><b>  {</b>&l

58、t;/p><p>  filedialog_load.setVisible(false);</p><p><b>  }</b></p><p><b>  });</b></p><p>  Box box1=Box.createHorizontalBox();//創(chuàng)建一個(gè)從左到右顯示其組件的 bo

59、x1;</p><p>  Box box2=Box.createVerticalBox();//創(chuàng)建一個(gè)從上到下顯示其組件的 box2;</p><p>  Box box3=Box.createVerticalBox();</p><p>  Box boxbase=Box.createVerticalBox();</p><p>  P

60、anel panel1=new Panel();</p><p>  Panel panel2=new Panel();</p><p>  setMenuBar(bar=new MenuBar());</p><p>  bar.add(menu);</p><p>  menu.add(itemOpen);</p><

61、p>  menu.add(itemSave);</p><p>  panel1.add(button1);</p><p>  panel1.add(button2);</p><p>  box1.add(panel1);</p><p>  box2.add(label);</p><p>  panel2

62、.add(texta);</p><p>  box3.add(panel2);</p><p>  boxbase.add(box1);</p><p>  boxbase.add(box2);</p><p>  boxbase.add(box3);</p><p>  add(boxbase);</p>

63、;<p>  setLayout(new FlowLayout());</p><p>  setBounds(100,0,1200,750);</p><p>  setVisible(true);</p><p>  addWindowListener(new WindowAdapter()</p><p><b>

64、;  {</b></p><p>  public void windowClosing(WindowEvent e)</p><p><b>  {</b></p><p>  System.exit(0);</p><p><b>  }</b></p><p&g

65、t;<b>  });</b></p><p>  }//“關(guān)閉”窗口事件;</p><p>  public void actionPerformed(ActionEvent e)//查找讀入文件</p><p><b>  {</b></p><p>  if(e.getSource()==

66、itemOpen)</p><p><b>  {</b></p><p>  filedialog_load.setVisible(true);</p><p>  texta.setText(null);</p><p><b>  String s;</b></p><p&

67、gt;  if(filedialog_load.getFile()!=null)</p><p><b>  {</b></p><p><b>  try</b></p><p><b>  {</b></p><p>  File file=new File(filedia

68、log_load.getDirectory(),filedialog_load.getFile());</p><p>  FileReader file_reader=new FileReader(file);//讀取字符流</p><p>  BufferedReader in=new BufferedReader(file_reader);</p><p> 

69、 while((s=in.readLine())!=null)</p><p>  texta.append(s+'\n');</p><p>  in.close();</p><p>  file_reader.close();</p><p><b>  }</b></p><p

70、>  catch (IOException e1)</p><p><b>  {</b></p><p><b>  }</b></p><p><b>  }</b></p><p><b>  }</b></p><p>

71、;  if(e.getSource()==itemSave)//查找寫入的文件</p><p><b>  {</b></p><p>  filedialog_save.setVisible(true);</p><p>  if(filedialog_save.getFile()!=null)</p><p><

72、;b>  {</b></p><p><b>  try</b></p><p><b>  {</b></p><p>  File file=new File(filedialog_save.getDirectory(),filedialog_save.getFile());</p>&

73、lt;p>  FileWriter tofile=new FileWriter(file);//讀取字符流</p><p>  BufferedWriter out=new BufferedWriter(tofile);</p><p>  out.write(texta.getText(),0,(texta.getText()).length());</p><

74、p>  out.close();</p><p>  tofile.close();</p><p><b>  }</b></p><p>  catch (IOException e2)</p><p><b>  {</b></p><p><b>  

75、}</b></p><p><b>  }</b></p><p><b>  }</b></p><p>  if(e.getSource()==button1)</p><p><b>  {</b></p><p>  char a[]

76、=texta.getText().toCharArray();/*把texta中獲得的文本,進(jìn)行初始化,與原字符串長(zhǎng)度相等,并將該字符串對(duì)象的全部字符復(fù)制到該數(shù)組a[]中*/</p><p>  texta.setText(null);</p><p><b>  int n;</b></p><p>  char secret=' &

77、#39;;</p><p>  for(int i=0;i<a.length;i++)</p><p><b>  {</b></p><p>  char c=(char)(secret^a[i]);//進(jìn)行異或運(yùn)算</p><p>  texta.append(""+c);</p>

78、;<p><b>  }</b></p><p><b>  }</b></p><p>  if(e.getSource()==button2)</p><p><b>  {</b></p><p>  char a[]=texta.getText().toC

79、harArray();</p><p>  texta.setText(null);</p><p><b>  int n;</b></p><p>  char secret=' ';</p><p>  for(int i=0;i<a.length;i++)</p><p&

80、gt;<b>  {</b></p><p>  char c=(char)(secret^a[i]);//再次異或運(yùn)算,即還原</p><p>  texta.append(""+c);</p><p><b>  }</b></p><p><b>  }</

81、b></p><p><b>  }</b></p><p><b>  }</b></p><p>  public class E1{</p><p>  public static void main(String args[]){</p><p>  Myfr

溫馨提示

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

評(píng)論

0/150

提交評(píng)論