北京电子科技学院(BESTI)
实 验 报 告
课程:程序设计与数据结构
班级:1623班
姓名:张泰毓
指导老师:娄老师、王老师
实验日期:2017年5月12日
实验密级:非密级
实验器材:带Linux系统的电脑一台
实验名称:敏捷开发与XP实践
实验内容
- 1 . 在IDEA中使用工具(Code->Reformate Code)
- 2 . 下载搭档实验二的Complex代码,加入不少于三个JUnit单元测试用例
- 3 . 重构内容的练习
-
4 . 以结对的方式完成Java密码学相关内容的学习
实验知识点
-
1 .极限编程(eXtreme Programming,XP)
1.编码标准 2.结对编程 3.代码集体所有
-
2 .重构
重构(Refactor),就是在不改变软件外部行为的基础上,改变软件内部的结构,使其更加易于阅读、易于维护和易于变更 。
- 3 .Java 密码学算法
- 1 . JCA( Java Cryptography Architecture, Java加密体系结构):JCA提供基本的加密框架, 如证书、 数字签名、消息摘要和密钥对产生器。
- 2 . JCE( Java Cryptography Extension, Java加密扩展包):JCE在JCA的基础上作了扩展, 提供了各种加密算法、 消息摘要算法和密钥管理等功能。JCE的实现主要在javax.crypto包( 及其子包) 中
- 3 .JSSE( Java Secure Sockets Extension, Java安全套接字扩展包):JSSE提供了基于SSL( Secure Sockets Layer,安全套接字层) 的加密功能。 在网络的传输过程中, 信息会经过多个主机(很有可能其中一台就被窃听) , 最终传送给接收者, 这是不安全的。这种确保网络通信安全的服务就是由JSSE来提供的。
-
4 .JAAS( Java Authentication and Authentication Service, Java鉴别与安全服务):JAAS提供了在Java平台上进行用户身份鉴别的功能。
1.对称密码(symmetric cryptography)是指在加密和解密时使用同一密钥的方式。 2.公钥密码(public-key cryptography)则是指在加密和解密时使用不同密钥的方式,公钥密码又称为非对称密码(asymmetric cryptography)。 3.混合密码系统:将对称密码和公钥密码结合起来
实验步骤
- 1 . Code->Reformate Code
- 2 . 在码云上把自己的学习搭档加入自己的项目中,确认搭档的项目加入自己后,下载搭档实验二的Complex代码,加入不少于三个JUnit单元测试用例:
- 3 . 完成重构内容的练习,下载搭档的代码,至少进行三项重构:
- 4 . Java对称加密-DES算法:
5 . Java非对称加密-RSA算法:
反思
- 可以说在IDEA里面编程是十分便利的,仅Code->Reformate Code这一项功能就可以说节省了我们大量的时间,还有很多重构这个菜单里的很多功能,例如给文件换名等等。另外,学习了加密算法,从最古老的恺撒加密到现如今的对策加密,非对称机密,再到未来的量子加密等等。密码学总是在以高速发展的姿态向前迈进。