![安全編程實(shí)驗(yàn)報(bào)告_第1頁](http://file4.renrendoc.com/view11/M01/03/3B/wKhkGWWYuYSAYuZxAACQqmE8mg4998.jpg)
![安全編程實(shí)驗(yàn)報(bào)告_第2頁](http://file4.renrendoc.com/view11/M01/03/3B/wKhkGWWYuYSAYuZxAACQqmE8mg49982.jpg)
![安全編程實(shí)驗(yàn)報(bào)告_第3頁](http://file4.renrendoc.com/view11/M01/03/3B/wKhkGWWYuYSAYuZxAACQqmE8mg49983.jpg)
![安全編程實(shí)驗(yàn)報(bào)告_第4頁](http://file4.renrendoc.com/view11/M01/03/3B/wKhkGWWYuYSAYuZxAACQqmE8mg49984.jpg)
![安全編程實(shí)驗(yàn)報(bào)告_第5頁](http://file4.renrendoc.com/view11/M01/03/3B/wKhkGWWYuYSAYuZxAACQqmE8mg49985.jpg)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
平安編程技術(shù)實(shí)驗(yàn)報(bào)告學(xué)生姓名學(xué)生學(xué)號(hào)指導(dǎo)教師郭克華專業(yè)班級(jí)信息平安完成日期計(jì)算機(jī)科學(xué)與技術(shù)系信息科學(xué)與工程學(xué)院目錄TOC\o"1-3"\h\z1510實(shí)驗(yàn)一226595一、目的與要求229701二、操作環(huán)境215873三、實(shí)驗(yàn)內(nèi)容218129四、實(shí)驗(yàn)數(shù)據(jù)58772實(shí)驗(yàn)總結(jié)13參考資料14實(shí)驗(yàn)一一、目的與要求1.1實(shí)驗(yàn)?zāi)康恼莆掌桨簿幊碳夹g(shù)的根本思路和方法。利用所學(xué)的根本知識(shí)和技能,解決簡(jiǎn)單的平安編程問題。1.2實(shí)驗(yàn)要求利用所學(xué)到的編程知識(shí)和編程技巧,設(shè)計(jì)一個(gè)實(shí)際的應(yīng)用軟件,提高進(jìn)行工程設(shè)計(jì)的根本技能及分析、解決實(shí)際問題的能力,為后續(xù)課程和以后的工程實(shí)踐打下良好的根底。1.3實(shí)驗(yàn)內(nèi)容使用某種方法處理一個(gè)視頻或者音頻,使得該視頻或音頻用任何常用播放軟件都無法播放;自己編寫一個(gè)播放軟件,用你的播放軟件可以播放該視頻或音頻;該播放軟件使用次數(shù)為5次,翻開5次之后,再也無法使用。操作環(huán)境使用Eclipse軟件,用java語言編寫的程序。實(shí)驗(yàn)內(nèi)容實(shí)驗(yàn)內(nèi)容的實(shí)現(xiàn)包括以下幾個(gè)局部:界面與播放器的設(shè)置;實(shí)現(xiàn)退出、翻開、加密和解密四項(xiàng)功能的具體代碼;實(shí)現(xiàn)軟件使用次數(shù)為五次的功能的具體代碼。界面與播放器的設(shè)置非常簡(jiǎn)單且繁瑣,我采用的是全部設(shè)定成固定值的方法設(shè)置的界面與播放器的方法,最終效果可以參考實(shí)驗(yàn)數(shù)據(jù)局部。播放器的設(shè)置根本都是調(diào)用了JMF的API里本身有的方法,比方://取得player中的播放視頻的組件,并得到視頻窗口的大小//然后把視頻窗口的組件添加到Frame窗口中,if((visual=player.getVisualComponent())!=null){Dimensionsize=visual.getPreferredSize();videoWidth=size.width;videoHeight=size.height;visual.setBounds(0,0,videoWidth,videoHeight);this.add(visual);}else{videoWidth=320;}//取得player中的視頻播放控制條組件,并把該組件添加到Frame窗口中if((control=player.getControlPanelComponent())!=null){controlHeight=control.getPreferredSize().height;control.setBounds(0,videoHeight,videoWidth,controlHeight+insetHeight);this.add(control);}//設(shè)定Frame窗口的大小,使得滿足視頻文件的默認(rèn)大小this.setSize(videoWidth+insetWidth,videoHeight+controlHeight+insetHeight);this.validate();//啟動(dòng)視頻播放組件開始播放player.start();}elseif(ceinstanceofEndOfMediaEvent){//當(dāng)播放視頻完成后,把時(shí)間進(jìn)度條恢復(fù)到開始,并再次重新開始播放player.setMediaTime(newTime(0));player.start();退出、翻開和選擇三項(xiàng)功能也是直接調(diào)用已有的方法完成。加密和解密采用的是取反的方法,考慮到可逆性。還可以改成加一減一的方法,更高級(jí)的可以考慮參加密碼算法進(jìn)行加密,更加平安。加解密的時(shí)候都會(huì)建立新的文件存放數(shù)據(jù),加解密過程完成后新的文件都會(huì)被刪除。加解密都是讀寫文件的過程所以比擬慢,現(xiàn)在考慮到的優(yōu)化方法是解密到一半的時(shí)候直接開始播放,同時(shí)后臺(tái)繼續(xù)解密后面的文件,可以提高效率,增加可用性。解密的實(shí)現(xiàn)如下〔翻開時(shí)也要解密〕:inttempbyte;inti=0;while((tempbyte=in.read())!=-1){if(i==0){if(tempbyte==5){jl.setText("無法翻開");on.close();on2.close();file1.delete();file2.delete();return;}on2.write(~tempbyte);i++;continue;}elseif(i<3){on.write(~tempbyte);on2.write(tempbyte);i++;continue;}else{on.write(tempbyte);on2.write(tempbyte);i++;continue;}加密的實(shí)現(xiàn)如下:in=newFileInputStream(file);on=newFileOutputStream(new_file,true);inttempbyte;inti=0;on.write(0);while((tempbyte=in.read())!=-1){if(i<2){on.write(~tempbyte);i++;continue; }else{on.write(tempbyte);i++;continue; }限制軟件翻開五次的功能是用文件實(shí)現(xiàn)的,在主函數(shù)里創(chuàng)立一個(gè)文件并且寫入初始值5,之后每一次進(jìn)行翻開操作都將文件里的數(shù)進(jìn)行減一的操作。當(dāng)文件里數(shù)的值為零時(shí),再次翻開,程序會(huì)直接退出并且在控制臺(tái)上打印“超過使用次數(shù)!〞信息。Filefile=newFile("C:\\Users\\a\\Desktop","count.txt");if(!file.exists()){file.createNewFile(); Strings="5"; FileWriterfw=newFileWriter("C:/Users/a/Desktop/count.txt"); BufferedWriterbw=newBufferedWriter(fw);bw.write(s,0,s.length());bw.flush();bw.close();}Filemyfile=newFile("C:/Users/a/Desktop/count.txt");BufferedReaderbr;try{br=newBufferedReader(newFileReader(myfile)); Stringtemp=br.readLine();intcount=Integer.parseInt(temp);if(count>0){count-=1; Stringa=String.valueOf(count); FileWriterfw=newFileWriter("C:/Users/a/Desktop/count.txt"); BufferedWriterbw=newBufferedWriter(fw);bw.write(a,0,a.length());bw.flush();bw.close(); }else{ System.out.println("超過使用次數(shù)!"); System.exit(0); }}catch(FileNotFoundExceptione3){e3.printStackTrace();}catch(IOExceptione1){e1.printStackTrace();}四、實(shí)驗(yàn)數(shù)據(jù)首先,在未經(jīng)任何處理的情況下,實(shí)驗(yàn)所用到的本avi格式視頻是可以被普通的播放器隨意翻開的。圖1用potplayer播放器翻開視頻運(yùn)行程序,將視頻加密。圖2加密視頻圖3加密完成可見,加密后的視頻不能再用potplayer翻開了。圖4翻開時(shí)出現(xiàn)錯(cuò)誤用該程序翻開視頻:圖5翻開操作翻開時(shí),軟件自動(dòng)解密已加密過的視頻。圖6翻開時(shí)的解密解密完成后自動(dòng)播放視頻。圖7播放器界面解密功能的使用。圖8解密圖9解密完成解密完成后,又可以用potplayer再次翻開該視頻了。圖10可再次翻開的視頻文件翻開五次后,會(huì)自動(dòng)退出并顯示“超過使用次數(shù)!〞的提示。圖11運(yùn)行程序后會(huì)在桌面自動(dòng)生成count.txt文件圖12初始顯示為5圖13進(jìn)行過一次翻開操作后,文件里的數(shù)減一圖14文件中的數(shù)減為0了圖15再次翻開后,程序退出并在控制臺(tái)顯示信息實(shí)驗(yàn)總結(jié)這個(gè)是在剛剛接觸平安編程技術(shù)時(shí)編寫的,其實(shí)不是個(gè)非常復(fù)雜的程序,但是正是通過這個(gè)程序,我開始接觸有關(guān)平安編程技術(shù)方面的編程。實(shí)驗(yàn)的內(nèi)容是編寫一個(gè)可以處理視頻〔也就是加密解密〕的視頻播放器,看到這個(gè)題目的時(shí)候我就決定使用Java來完成這個(gè)試驗(yàn)了,因?yàn)閾?jù)我所知,JMF可以十分方便的實(shí)現(xiàn)視頻播放器功能。編寫得有些艱難,因?yàn)橹皼]接觸過JMF方面的內(nèi)容,但是在老師和同學(xué)的幫助下我還是很快完成了本次實(shí)驗(yàn)。JMF這個(gè)框架十分方便,用它來實(shí)現(xiàn)多媒體方面的編程是非??斓?,它提供了相當(dāng)多的接口而隱藏了一些具體實(shí)現(xiàn),這樣就可以不受平臺(tái)限制的呈現(xiàn)基媒體,因?yàn)殚_發(fā)者使用的時(shí)候不用考慮到本地方法。關(guān)于運(yùn)行五次就關(guān)閉的功能,一開始我想得比擬復(fù)雜,后來在同學(xué)的提示下,想到可以用讀寫文件的方式來控制軟件翻開次數(shù)。當(dāng)然,這是個(gè)比擬粗糙的方法,還有時(shí)間的話
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年度獨(dú)立藝術(shù)家合作開發(fā)合同
- 二零二五年度文化創(chuàng)意產(chǎn)業(yè)質(zhì)押擔(dān)保合同
- 2025年度交響音樂會(huì)演出節(jié)目編排服務(wù)合同模板
- 2025年度雞場(chǎng)租賃合同(含疫病防控責(zé)任細(xì)則)
- 二零二五年度戶外活動(dòng)預(yù)約解除與安全責(zé)任合同
- 2025年度車輛牌照借用及車輛交易服務(wù)合同
- 2025-2030年散熱風(fēng)扇智能控制行業(yè)跨境出海戰(zhàn)略研究報(bào)告
- 2025年中國(guó)低鎳合金線材市場(chǎng)調(diào)查研究報(bào)告
- 2025至2030年不銹鋼節(jié)煤爐項(xiàng)目投資價(jià)值分析報(bào)告
- 2025年破壁靈芝孢子粉項(xiàng)目可行性研究報(bào)告
- 不對(duì)外供貨協(xié)議
- 2024屆高考作文主題訓(xùn)練:時(shí)評(píng)類(含解析)
- 260噸汽車吊地基承載力驗(yàn)算
- 公司新員工三級(jí)安全教育培訓(xùn)(車間級(jí))
- 北師大版高三數(shù)學(xué)選修4-6初等數(shù)論初步全冊(cè)課件【完整版】
- 老子道德經(jīng)全文講解學(xué)習(xí)課件
- 企業(yè)更名通知函
- 經(jīng)大量臨床實(shí)驗(yàn)證明,空氣負(fù)離子能有效治療心腦血管疾病
- GB/T 12618-1990開口型扁圓頭抽芯鉚釘
- GA/T 458-2021居民身份證質(zhì)量要求
- 徐金桂行政法講義
評(píng)論
0/150
提交評(píng)論