20155201 2016-2017-2 《Java程序设计》第十周学习总结
20155201 2016-2017-2 《Java程序设计》第十周学习总结
教材学习内容总结
- Java密码技术
- 安全的三个属性
- 机密性
- 完整性
- 可用性
密码学: 主要是研究保密通信和信息保密的学科, 包括信息保密传输和信息加密存储等。其两个分支密码编码学和密码分析学相互促进,又相互制约。

- Java安全体系结构
- JCA:Java加密体系结构
- JCE:Java加密扩展包
- JSSE:Java安全套接字扩展包
- JAAS:Java鉴别与安全服务
凯撒密码
凯撒密码的加密算法极其简单。其加密过程如下:
在这里,我们做此约定:明文记为m,密文记为c,加密变换记为E(k1,m)(其中k1为密钥),解密变换记为D(k2,m)凯撒密码 加密过程可记为如下一个变换:
c≡m+k mod n (其中n为基本字符个数)
同样,解密过程可表示为:
m≡c+k mod n (其中n为基本字符个数)
- DES算法-对称加密
- RSA算法-非对称加密
- MD5-摘要算法:使用Java计算指定字符串的消息摘要。
java.security包中的MessageDigest类提供了计算消息摘要的方法
- 安全的三个属性
- 网络
- 网络编程:网络编程就是在两个或两个以上的设备(例如计算机)之间传输数据。其中的两种程序是客户端和服务器端
- 计算机网络 :路由器和交换机组成了核心的计算机网络,计算机只是这个网络上的节点以及控制等,通过光纤、网线等连接将设备连接起来,从而形成了一张巨大的计算机网络。
- 网络编程步骤:
Socket socket1 = new Socket(“192.168.205.1”,10000);Socket socket2 = new Socket(“www.baidu.com”,80);OutputStream os = socket1.getOutputStream(); //获得输出流InputStream is = socket1.getInputStream(); //获得输入流socket1.close();socket2.close();
- Java网络编程技术
- TCP与UDP方式编程
- TCP方式 一个基础的网络类——InetAddress类。该类的功能是代表一个IP地址,并且将IP地址和域名相关的操作方法包含在该类的内部。在Java语言中,对于TCP方式的网络编程提供了良好的支持,在实际实现时,以java.net.Socket类代表客户端连接,以java.net.ServerSocket类代表服务器端连接。
- UDP方式UDP方式的网络编程也在Java语言中获得了良好的支持,由于其在传输数据的过程中不需要建立专用的连接等特点,所以在Java API中设计的实现结构和TCP方式不太一样。当然,需要使用的类还是包含在java.net包中。
- TCP与UDP方式编程
教材学习中的问题和解决过程
- 问题1:如何使DES算法和RSA算法代码成功运行?
- 问题1解决方案:


代码调试中的问题和解决过程
- 问题1:如何运行MD5算法代码?
- 问题1解决方案:
使用Java计算指定字符串的消息摘要。
java.security包中的MessageDigest类提供了计算消息摘要的方法,
首先生成对象,执行其update()方法可以将原始数据传递给该对象,然后执行其digest( )方法即可得到消息摘要。具体步骤如下:
(1) 生成MessageDigest对象
MessageDigest m=MessageDigest.getInstance("MD5");
分析:和2.2.1小节的KeyGenerator类一样。MessageDigest类也是一个工厂类,其构造器是受保护的,不允许直接使用new MessageDigist( )来创建对象,而必须通过其静态方法getInstance( )生成MessageDigest对象。
(2) 传入需要计算的字符串
m.update(x.getBytes("UTF8" ));
(3) 计算消息摘要
byte s[ ]=m.digest( );
(4) 处理计算结果
必要的话可以使用如下代码将计算结果s转换为字符串。

代码托管

上周考试错题总结
无
点评过的同学博客和代码
感悟与思考
密码学也是我们专业学习的重点之一。本次学习把Java和密码学结合在一起,之前密码学的代码实现都是用c语言,看了Java语言的代码感觉获得了新思路。网络和协议等最近的计算机网络课也有提及,看学习资料的时候也不是很生涩。
学习进度条
| 代码行数(新增/累积) | 博客量(新增/累积) | 学习时间(新增/累积) | 重要成长 | |
|---|---|---|---|---|
| 第十周 | 492/6097 | 1/12 | 19/150 |
计划学习时间:15小时
实际学习时间:19小时
改进情况:本周在工作日期间也学习了一些,累积了学习时间。
参考资料
20155201 2016-2017-2 《Java程序设计》第十周学习总结的更多相关文章
- 201521123027 <java程序设计>第十周学习总结
1.本周学习总结 1.1 以你喜欢的方式(思维导图或其他)归纳总结异常与多线程相关内容. 异常: 多线程: 2.书面作业 Q1.finally 题目4-2 1.1 截图你的提交结果(出现学号) 1.2 ...
- Java程序设计第十周学习总结
Java课程知识梳理: 流的区分; 字符流与字节流的区别: 字节流是直接操作文件本身的,如果没有关闭字节流操作,文件会依然输出内容 而字符流在程序运行之后会发现文件没有任何的内容,这是因为字符流操作的 ...
- 20155201 2016-2017-2 《Java程序设计》第九周学习总结
20155201 2016-2017-2 <Java程序设计>第九周学习总结 教材学习内容总结 第十六章 整合数据库 JDBC全名JavaDataBaseConnecticity,是Jav ...
- 20155201 2016-2017-2 《Java程序设计》第一周学习总结
20155201 2016-2017-2 <Java程序设计>第一周学习总结 教材学习内容总结 每一章的问题: 第一章 Java ME都有哪些成功的平台? 第二章 哪些情况可以使用impo ...
- 20155201 2016-2017-2 《Java程序设计》第二周学习总结
20155201 2016-2017-2 <Java程序设计>第二周学习总结 教材学习内容总结 编译运行P55各种类型可储存的数值范围代码,截图: 常用格式控制符: 符号 说明 %% 表示 ...
- 20155313 2016-2017-2 《Java程序设计》第九周学习总结
20155313 2016-2017-2 <Java程序设计>第九周学习总结 教材学习内容总结 第16章 JDBC(Java DataBase Connectivity)即java数据库连 ...
- 20145213《Java程序设计》第九周学习总结
20145213<Java程序设计>第九周学习总结 教材学习总结 "五一"假期过得太快,就像龙卷风.没有一点点防备,就与Java博客撞个满怀.在这个普天同庆的节日里,根 ...
- 《Java程序设计》第九周学习总结
20145224 <Java程序设计>第九周学习总结 第十六章 整合数据库 JDBC入门 ·数据库本身是个独立运行的应用程序 ·撰写应用程序是利用通信协议对数据库进行指令交换,以进行数据的 ...
- 20145236 《Java程序设计》第九周学习总结
20145236 <Java程序设计>第九周学习总结 教材学习内容总结 第十六章 整合数据库 JDBC简介 1.JDBC是java联机数据库的标准规范.它定义了一组标准类与接口,标准API ...
- 20155304田宜楠2006-2007-2 《Java程序设计》第一周学习总结
20155304田宜楠2006-2007-2 <Java程序设计>第一周学习总结 教材学习内容总结 - 浏览教材,根据自己的理解每章提出一个问题 第一章 除了书上提到的开发工具还有什么适合 ...
随机推荐
- 利用border制作三角形原理
网站前端页面中,有时候会使用一些三角形,除了使用图片的方式之外,利用css的border属性也可以做出相对应的三角形.那么,利用border是如何实现三角形的制作的呢? 先看下面一个例子: CSS代码 ...
- .Net Core 使用EF Core方法
新建项目后,使用NuGet安装包: Install-Package Microsoft.EntityFrameworkCore Install-Package Microsoft.EntityFram ...
- c++11——tuple元组
tuple是一个固定大小的不同类型值的集合,是泛化的 std::pair.可以当做一通用的结构体使用,不需要创建结构体而又获取结构体的特征,在某些情况下可以取代结构体,使程序简洁.直观. 创建tupl ...
- C/C++对Lu系统内置动态对象进行运算符重载
欢迎访问Lu程序设计 C/C++对Lu系统内置动态对象进行运算符重载 1 说明 要演示本文的例子,你必须下载Lu32脚本系统.本文的例子需要lu32.dll.lu32.lib.C格式的头文件lu32. ...
- C++ primer(十三)--类继承、构造函数成员初始化、虚函数、抽象基类
一.基类 从一个类派生出另一个类时,原始类称为基类,继承类称为派生类. 派生类对自身基类的private成员没有访问权限,对基类对象的protected成员没有访问权限,对派生类对象的(基类之 ...
- 在fedora 18中将普通用户设置为sudo权限
将一般的用户加入sudo组is not in the sudoers file. This incident will be reported 解决方法 在一般用户下执行sudo命令提示xxx is ...
- LeetCode——Missing Number
Description: Given an array containing n distinct numbers taken from 0, 1, 2, ..., n, find the one t ...
- c# Socket通信基础
一.IP地址操作类 1.IPAddress类 a.在该类中有一个 Parse()方法,可以把点分的十进制IP表示转化成IPAddress类,方法如下: IPAddress address = I ...
- postgresql----继承表INHERITS PARENT TABLE
使用INHERITS创建的新表会继承一个或多个父表,子表只会继承父表的表结构和NOT NULL,DEFAULT,CHECK三种约束,主键,外键和唯一键以及索引不会被继承,所以修改父表的结构(增删字段) ...
- SELECT INTO 和 INSERT INTO SELECT
做数据库开发的过程中难免会遇到有表数据备份的,而SELECT INTO……和INSERT INTO SELECT…… 这两种语句就是用来进行表数据复制,下面简单的介绍下: 1.INSERT INTO ...
