![安全编程实验报告_第1页](http://file4.renrendoc.com/view11/M01/03/3B/wKhkGWWYuYSAYuZxAACQqmE8mg4998.jpg)
![安全编程实验报告_第2页](http://file4.renrendoc.com/view11/M01/03/3B/wKhkGWWYuYSAYuZxAACQqmE8mg49982.jpg)
![安全编程实验报告_第3页](http://file4.renrendoc.com/view11/M01/03/3B/wKhkGWWYuYSAYuZxAACQqmE8mg49983.jpg)
![安全编程实验报告_第4页](http://file4.renrendoc.com/view11/M01/03/3B/wKhkGWWYuYSAYuZxAACQqmE8mg49984.jpg)
![安全编程实验报告_第5页](http://file4.renrendoc.com/view11/M01/03/3B/wKhkGWWYuYSAYuZxAACQqmE8mg49985.jpg)
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
平安编程技术实验报告学生姓名学生学号指导教师郭克华专业班级信息平安完成日期计算机科学与技术系信息科学与工程学院目录TOC\o"1-3"\h\z1510实验一226595一、目的与要求229701二、操作环境215873三、实验内容218129四、实验数据58772实验总结13参考资料14实验一一、目的与要求1.1实验目的掌握平安编程技术的根本思路和方法。利用所学的根本知识和技能,解决简单的平安编程问题。1.2实验要求利用所学到的编程知识和编程技巧,设计一个实际的应用软件,提高进行工程设计的根本技能及分析、解决实际问题的能力,为后续课程和以后的工程实践打下良好的根底。1.3实验内容使用某种方法处理一个视频或者音频,使得该视频或音频用任何常用播放软件都无法播放;自己编写一个播放软件,用你的播放软件可以播放该视频或音频;该播放软件使用次数为5次,翻开5次之后,再也无法使用。操作环境使用Eclipse软件,用java语言编写的程序。实验内容实验内容的实现包括以下几个局部:界面与播放器的设置;实现退出、翻开、加密和解密四项功能的具体代码;实现软件使用次数为五次的功能的具体代码。界面与播放器的设置非常简单且繁琐,我采用的是全部设定成固定值的方法设置的界面与播放器的方法,最终效果可以参考实验数据局部。播放器的设置根本都是调用了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);}//设定Frame窗口的大小,使得满足视频文件的默认大小this.setSize(videoWidth+insetWidth,videoHeight+controlHeight+insetHeight);this.validate();//启动视频播放组件开始播放player.start();}elseif(ceinstanceofEndOfMediaEvent){//当播放视频完成后,把时间进度条恢复到开始,并再次重新开始播放player.setMediaTime(newTime(0));player.start();退出、翻开和选择三项功能也是直接调用已有的方法完成。加密和解密采用的是取反的方法,考虑到可逆性。还可以改成加一减一的方法,更高级的可以考虑参加密码算法进行加密,更加平安。加解密的时候都会建立新的文件存放数据,加解密过程完成后新的文件都会被删除。加解密都是读写文件的过程所以比拟慢,现在考虑到的优化方法是解密到一半的时候直接开始播放,同时后台继续解密后面的文件,可以提高效率,增加可用性。解密的实现如下〔翻开时也要解密〕: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;}加密的实现如下: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; }限制软件翻开五次的功能是用文件实现的,在主函数里创立一个文件并且写入初始值5,之后每一次进行翻开操作都将文件里的数进行减一的操作。当文件里数的值为零时,再次翻开,程序会直接退出并且在控制台上打印“超过使用次数!〞信息。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("超过使用次数!"); System.exit(0); }}catch(FileNotFoundExceptione3){e3.printStackTrace();}catch(IOExceptione1){e1.printStackTrace();}四、实验数据首先,在未经任何处理的情况下,实验所用到的本avi格式视频是可以被普通的播放器随意翻开的。图1用potplayer播放器翻开视频运行程序,将视频加密。图2加密视频图3加密完成可见,加密后的视频不能再用potplayer翻开了。图4翻开时出现错误用该程序翻开视频:图5翻开操作翻开时,软件自动解密已加密过的视频。图6翻开时的解密解密完成后自动播放视频。图7播放器界面解密功能的使用。图8解密图9解密完成解密完成后,又可以用potplayer再次翻开该视频了。图10可再次翻开的视频文件翻开五次后,会自动退出并显示“超过使用次数!〞的提示。图11运行程序后会在桌面自动生成count.txt文件图12初始显示为5图13进行过一次翻开操作后,文件里的数减一图14文件中的数减为0了图15再次翻开后,程序退出并在控制台显示信息实验总结这个是在刚刚接触平安编程技术时编写的,其实不是个非常复杂的程序,但是正是通过这个程序,我开始接触有关平安编程技术方面的编程。实验的内容是编写一个可以处理视频〔也就是加密解密〕的视频播放器,看到这个题目的时候我就决定使用Java来完成这个试验了,因为据我所知,JMF可以十分方便的实现视频播放器功能。编写得有些艰难,因为之前没接触过JMF方面的内容,但是在老师和同学的帮助下我还是很快完成了本次实验。JMF这个框架十分方便,用它来实现多媒体方面的编程是非常快的,它提供了相当多的接口而隐藏了一些具体实现,这样就可以不受平台限制的呈现基媒体,因为开发者使用的时候不用考虑到本地方法。关于运行五次就关闭的功能,一开始我想得比拟复杂,后来在同学的提示下,想到可以用读写文件的方式来控制软件翻开次数。当然,这是个比拟粗糙的方法,还有时间的话
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 八年级英语下册 Unit 4 单元综合测试卷(人教陕西版 2025年春)
- 2024-2025学年山东省烟台市栖霞市四年级(上)期末数学试卷
- 高一化学1月月考试题解析版
- 2025年重组载体疫苗合作协议书
- 2025年买方信贷合作协议(三篇)
- 2025年个人的租房合同样本(三篇)
- 2025年亿家益公司芜湖加盟加盟店加盟合同(三篇)
- 2025年个人购买汽车合同(2篇)
- 2025年二人合伙经营协议简单版(4篇)
- 2025年中外合资企业劳务合同(2篇)
- 渤海大学《大数据分析与实践》2023-2024学年期末试卷
- 2024版2024年《咚咚锵》中班音乐教案
- GA 2139-2024警用防暴臂盾
- DL∕T 5810-2020 电化学储能电站接入电网设计规范
- 北京三甲中医疼痛科合作方案
- QCT957-2023洗扫车技术规范
- 新外研版高中英语选择性必修1单词正序英汉互译默写本
- 自愿断绝父子关系协议书电子版
- 2023年4月自考00504艺术概论试题及答案含解析
- 美丽的大自然(教案)2023-2024学年美术一年级下册
- 成都特色民俗课件
评论
0/150
提交评论