# 20155224 2016-2017-2 《Java程序设计》第10周学习总结
20155224 2016-2017-2 《Java程序设计》第10周学习总结
教材学习内容总结
密码学:
主要是研究保密通信和信息保密的学科, 包括信息保密传输和信息加密存储等。
密码学包含密码编码学( Cryptography) 和密码分析学(Cryptanalyst) 两个分支。编码学与分析学相互促
进, 又相互制约。
一方面, 两者在加强密码分析的安全上相互促进; 另一方面,两者在实施更为有效的攻击方面也相互影响。
密码编码学: 主要研究如何对信息进行编码,如何实现对信息的隐蔽,是密码学理论的基础,也是保密系统设计的基础。
密码分析学: 主要研究加密消息的破译或消息的伪造,是检验密码体制安全性最为直接的手段,只有通过实际密码分析考验的密码体制,才是真正可用的。

混合密码加密与解密


凯撒密码
在这里,我们做此约定:明文记为m,密文记为c,加密变换记为E(k1,m)(其中k1为密钥),解密变换记为D(k2,m)(k2为解密密钥)(在这里k1=k2,不妨记为k)。凯撒密码的加密过程可记为如下一个变换:
c≡m+k mod n (其中n为基本字符个数)
同样,解密过程可表示为:
m≡c+k mod n (其中n为基本字符个数)
DES算法
- 加密算法:
从文件中获取密钥
创建密码器(Cipher对象)
Cipher cp=Cipher.getInstance("DESede");
- 初始化密码器
cp.init(Cipher.ENCRYPT_MODE, k);
- 获取等待加密的明文
- 执行加密
(5) 执行加密
byte ctext[]=cp.doFinal(ptext);
- 处理加密结果
- 解密算法
获取密文
获取密钥
创建密码器(Cipher对象)
Cipher cp=Cipher.getInstance("DESede");
- 初始化密码器
cp.init(Cipher.DECRYPT_MODE, k);
- 执行解密
byte []ptext=cp.doFinal(ctext);
RSA算法
- 加密算法
创建密钥对生成器
初始化密钥生成器
生成密钥对
KeyPair kp=kpg.genKeyPair( );
4.获取公钥和私钥
- 解密算法
获取公钥
获取公钥的参数(e, n)
获取明文整数(m)
执行计算
BigInteger c=m.modPow(e,n);
教材学习中的问题和解决过程
- 问题1:定义enum时自定义的构造函数为什么不可以调用super()?
- 问题1解决方案:
Enum是个抽象类,无法直接实例化。操作Comparable接口。定义enum时可以自定义构造函数,条件是不得为public构造函数,也不可以在构造函数中调用super()。
代码调试中的问题和解决过程
代码托管
代码提交过程截图:
- 运行 git log --pretty=format:"%h - %an, %cd : %s" 并截图

- 运行 git log --pretty=format:"%h - %an, %cd : %s" 并截图
代码量截图:
- 运行 find src -name "*.java" | xargs cat | grep -v ^$ | wc -l 并截图

- 运行 find src -name "*.java" | xargs cat | grep -v ^$ | wc -l 并截图
上周考试错题总结
- 递归函数
public class LMYDigui {
public static void main(String [] args) {
int sum = 0;
// 参考Integer类中的方法把字符串转为整数
// 补充代码以递归的方式求命令行参数的args中整数数据的和
for(int i=0;i<args.length;i++){
int a=Integer.parseInt(args[i]);
sum+=a;
}
// 打印
System.out.println(sum);
}
}
结对及互评
评分标准
正确使用Markdown语法(加1分):
- 不使用Markdown不加分
- 有语法错误的不加分(链接打不开,表格不对,列表不正确...)
- 排版混乱的不加分
模板中的要素齐全(加1分)
- 缺少“教材学习中的问题和解决过程”的不加分
- 缺少“代码调试中的问题和解决过程”的不加分
- 代码托管不能打开的不加分
- 缺少“结对及互评”的不能打开的不加分
- 缺少“上周考试错题总结”的不能加分
- 缺少“进度条”的不能加分
- 缺少“参考资料”的不能加分
教材学习中的问题和解决过程, 一个问题加1分
代码调试中的问题和解决过程, 一个问题加1分
本周有效代码超过300分行的(加2分)
- 一周提交次数少于20次的不加分
其他加分:
- 周五前发博客的加1分
- 感想,体会不假大空的加1分
- 排版精美的加一分
- 进度条中记录学习时间与改进情况的加1分
- 有动手写新代码的加1分
- 课后选择题有验证的加1分
- 代码Commit Message规范的加1分
- 错题学习深入的加1分
- 点评认真,能指出博客和代码中的问题的加1分
- 结对学习情况真实可信的加1分
扣分:
- 有抄袭的扣至0分
- 代码作弊的扣至0分
- 迟交作业的扣至0分
点评模板:
- 博客中值得学习的或问题:
- xxx
- xxx
- ...
- 代码中值得学习的或问题:
- xxx
- xxx
- ...
- 基于评分标准,我给本博客打分:XX分。得分情况如下:xxx
点评过的同学博客和代码
- 本周结对学习情况
结对照片

结对学习内容
- 上周错题的理解与掌握。
- Java密码学算法学习中遇到的问题进行讨论。
- Java密码学算法代码调试中遇到的问题进行讨论。
- Java开发学习指南22章学习中遇到的问题进行讨论。
- 上周博客互评情况
其他(感悟、思考等,可选)
xxx
xxx
学习进度条
| 代码行数(新增/累积) | 博客量(新增/累积) | 学习时间(新增/累积) | 重要成长 |
|---|---|---|---|
| 目标 | 2000行 | 30篇 | 200小时 |
| 第一周 | 20/20 | 1/1 | 4/4 |
| 第二周 | 73/93 | 1/2 | 4/8 |
| 第三周 | 231/324 | 1/3 | 6/14 |
| 第四周 | 842/1166 | 1/4 | 15/29 |
| 第五周 | 1134/2300 | 1/5 | 21/50 |
| 第六周 | 1088/3388 | 1/6 | 23/73 |
| 第七周 | 518/3906 | 1/7 | 9/82 |
| 第八周 | 387/4293 | 1/8 | 11/93 |
| 第九周 | 760/5053 | 1/9 | 29/122 |
| 第十周 | 362/5415 | 1/10 | 13/135 |
尝试一下记录「计划学习时间」和「实际学习时间」,到期末看看能不能改进自己的计划能力。这个工作学习中很重要,也很有用。
耗时估计的公式
:Y=X+X/N ,Y=X-X/N,训练次数多了,X、Y就接近了。
计划学习时间:XX小时
实际学习时间:XX小时
改进情况:
(有空多看看现代软件工程 课件
软件工程师能力自我评价表)
参考资料
# 20155224 2016-2017-2 《Java程序设计》第10周学习总结的更多相关文章
- 2018面向对象程序设计(Java)第10周学习指导及要求
2018面向对象程序设计(Java)第10周学习指导及要求(2018.11.1-2018.11.4) 学习目标 理解泛型概念: 掌握泛型类的定义与使用: 掌握泛型方法的声明与使用: 掌握泛型接口的定 ...
- 面向对象程序设计(JAVA) 第10周学习指导及要求
2019面向对象程序设计(Java)第10周学习指导及要求 (2019.11.1-2019.11.4) 学习目标 1.掌握java异常处理技术: 2.了解断言的用法: 3.了解日志的用途: 4.掌 ...
- 20145213《Java程序设计》第九周学习总结
20145213<Java程序设计>第九周学习总结 教材学习总结 "五一"假期过得太快,就像龙卷风.没有一点点防备,就与Java博客撞个满怀.在这个普天同庆的节日里,根 ...
- 20145213《Java程序设计》第二周学习总结
20145213<Java程序设计>第二周学习总结 教材学习内容总结 本周娄老师给的任务是学习教材的第三章--基础语法.其实我觉得还蛮轻松的,因为在翻开厚重的书本,一股熟悉的气息扑面而来, ...
- 20145213《Java程序设计》第一周学习总结
20145213<Java程序设计>第一周学习总结 教材学习内容总结 期待了一个寒假,终于见识到了神秘的娄老师和他的Java课.虽说算不上金风玉露一相逢,没有胜却人间无数也是情理之中,但娄 ...
- 21045308刘昊阳 《Java程序设计》第九周学习总结
21045308刘昊阳 <Java程序设计>第九周学习总结 教材学习内容总结 第16章 整合数据库 16.1 JDBC入门 16.1.1 JDBC简介 数据库本身是个独立运行的应用程序 撰 ...
- 20145218《Java程序设计》第一周学习总结
20145218 <Java程序设计>第一周学习总结 教材学习内容总结 今天下午看了Java学习的视频,感觉很是新奇,之前觉得Java学起来是艰难枯燥的,但通过第一章的学习觉得如果自己可以 ...
- 20145236 《Java程序设计》第九周学习总结
20145236 <Java程序设计>第九周学习总结 教材学习内容总结 第十六章 整合数据库 JDBC简介 1.JDBC是java联机数据库的标准规范.它定义了一组标准类与接口,标准API ...
- 20155304田宜楠2006-2007-2 《Java程序设计》第一周学习总结
20155304田宜楠2006-2007-2 <Java程序设计>第一周学习总结 教材学习内容总结 - 浏览教材,根据自己的理解每章提出一个问题 第一章 除了书上提到的开发工具还有什么适合 ...
- 20155304田宜楠 2006-2007-2 《Java程序设计》第二周学习总结
20155304田宜楠 2006-2007-2 <Java程序设计>第二周学习总结 教材学习内容总结 一.类型与变量 1.类型 整数: 可细分为为short整数(占2字节),int整数(占 ...
随机推荐
- Java集合框架中的快速失败(fail—fast)机制
fail-fast机制,即快速失败机制,是java集合框架中的一种错误检测机制.多线程下用迭代器遍历一个集合对象时,如果遍历过程中对集合对象的内容进行了修改(增加.删除),则会抛出Concurre ...
- charles license key
Download: http://www.charlesproxy.com/ (Official Web-site) Registered name: anthony ortolani License ...
- 缓存MEMCACHE php调用
在项目中,涉及大访问量时,合理的使用缓存能减轻数据库的压力,同时提升用户体验.即在非实时性的需求的前提下,一小段时间内(若干秒),用于显示的数据从缓存中获取的,而不用直接读取数据库,能有效的减少数据库 ...
- Spark SQL on Yarn-Cluster
Spark SQL 或者Hive SQL在yarn-client模式下运行正常,但是在yarn-cluster模式下总是报 status failed错误, 需要把$SPARK_HOME/lib/sp ...
- 纯css3跑马灯demo
我们写跑马灯一般都是用js控制定时器不断循环产生,但是定时器消耗比较大,特别是程序中很多用到定时器的时候,感觉有的时候比较卡.但是css3样式一般不会.这里主要的思路就是用css3代替js定时器实现一 ...
- echarts柱状图,改变柱状颜色
在使用echarts产生的柱状图中,有时候自动产生的颜色大不如人意,可以通过以下参数进行修改. series : [ { name:'天数', type:'bar', stack: '天', data ...
- P2986 [USACO10MAR]伟大的奶牛聚集Great Cow Gat…
题目描述 Bessie is planning the annual Great Cow Gathering for cows all across the country and, of cours ...
- Spark读写HBase时出现的问题--RpcRetryingCaller: Call exception
问题描述 Exception in thread "main" org.apache.hadoop.hbase.client.RetriesExhaustedException: ...
- [LuoguP1363]幻想迷宫
[LuoguP1363]幻想迷宫(Link) 现在有一个迷宫,从迷宫边界的任意一点可以走到对面,即:若都是路面,则可以从\((1, i)\)走到\((N, i)\).其余情况依旧.问是否可以从指定的起 ...
- (转)openstack 资源查询常用 sql
直接通过查询 openstack 数据库, 获得相应的常见查询结果 查询用户使用中主机, 及其主机对应信息 查询用户使用中存储, 及其存储对应信息 查询用户对应主机 mysql> select ...