20145113 Java实验五 网络编程及安全

实验内容

  • 对于客户端与服务器端:修改原代码,使其可以实现连续的传消息,并且传送文件。

  • 对于加解密部分:
    • 对于原先的加密只加密“hello world",修改实现对一个.txt文件进行DES加密

    • 然后接收对方传送的公钥
    • 用公钥对DES的密钥进行加密,并将加密好的密钥传送给对方
    • 对方使用私钥对加密好的密钥进行解密,然后得到DES的密钥
    • 使用DES的密钥进行对加密的文件解密,得到明文

    实验成果

    客户端(Client):20145113 林晶

    DES生成密钥

    将明文用DES进行加密

    接收服务器端的公钥,对DES的密钥用RSA进行加密

    将进行RSA加密后的密钥和明文发送给服务器端,进行解密。

    服务器(Serve):20145102 周正一

    生成RSA的公钥和私钥

    将公钥发送给客户端,然后接收客户端发送的加密后的密钥跟明文进行解密
    先将密钥进行RSA解密

    得到解密后的密钥,然后进行密文的DES解密

    但是最终出现了问题。

    实验中遇到的问题

    问题:在正常进行RSA加解密的时候读入的是.txt文件可以进行正常的加解密,但是在对DES的密钥进行加解密的时候就出现了问题,加密后解密的内容与原来的密钥不匹配,缺失的部分位数,其中有部分值还发生的改变。
    分析问题:对于原先的.txt文件是一个文本文件,可以直接进行读取,但是可能密钥存放的.dat文件是个二进制文件,在读取的环节出现了问题。但是还没能够解决问题。

    Java实验五的更多相关文章

    1. 20165310 Java实验五《网络编程与安全》

      20165310 Java实验五<网络编程与安全> 任务一 题目:①编写MyBC.java实现中缀表达式转后缀表达式的功能:②编写MyDC.java实现从上面功能中获取的表达式中实现后缀表 ...

    2. 20165324 Java实验五 网络编程与安全

      20165324 Java实验五 网络编程与安全 一.实验报告封面 课程:Java程序设计 班级:1653班 姓名:何春江 学号:20165324 指导教师:娄嘉鹏 实验日期:2018年5月28日 实 ...

    3. 2018-2019-2-20175323 java实验五 网络编程与安全

      20175323 java实验五 网络编程与安全 任务一 ①编写MyBC.java实现中缀表达式转后缀表达式的功能 ②编写MyDC.java实现从上面功能中获取的表达式中实现后缀表达式求值的功能 基本 ...

    4. 20165326 java实验五

      实验五 网络编程与安全 一.实验内容 任务一: 结对实现中缀表达式转后缀表达式的功能 MyBC.java 结对实现从上面功能中获取的表达式中实现后缀表达式求值的功能,调用MyDC.java 这个代码在 ...

    5. java实验五——字符数组、String、StringBuffer的相互转化,StringBuffer的一些方法

      package hello; import java.util.Scanner; public class 实验五 { public static void main(String[] args) { ...

    6. java实验五实验报告

      一.实验内容 Cmp传输与加解密 结对编程,一人服务器,一人客户端,服务器向客户端发送经RSA加密的密钥和用密钥加密的密文(使用DES算法),客户端负责接收加密后的密钥和密文,并解密得出明文. 二.实 ...

    7. Java实验五网络编程与安全

      实验五 网络编程与安全 实验准备 博客 活动一 两人一组结对编程: 0. 参考http://www.cnblogs.com/rocedu/p/6766748.html#SECDSA 1. 结对实现中缀 ...

    8. 第七周学习总结&JAVA实验五报告。

      JAVA实验报告五: 实验四 类的继承 实验目的 理解抽象类与接口的使用: 了解包的作用,掌握包的设计方法. 实验要求 掌握使用抽象类的方法. 掌握使用系统接口的技术和创建自定义接口的方法. 了解 J ...

    9. Java实验五参考答案

      1.找错误 btOK.setOnAction( new EventHandler<ActionEvent> { public void handle (ActionEvent e) { S ...

    随机推荐

    1. Pythonn 内置函数

      abs 绝对值 n = abs(-1) print(n) ========================= /usr/bin/python3.5 /home/liangml/pythonscript ...

    2. html5移动web开发笔记(一)Web 存储

      localStorage - 没有时间限制的数据存储 localStorage 方法 localStorage 方法存储的数据没有时间限制.第二天.第二周或下一年之后,数据依然可用. 用户访问页面的次 ...

    3. Spark高级数据分析中文版-读者交流

      第二章: 备注:1.本书第二章样例数据由于才有的是短链接,国内的用户可能无法下载.我把数据集拷贝到百度网盘上.大家可以从这个地方下载:http://pan.baidu.com/s/1pJvjHA7 谢 ...

    4. Linux Shell脚本编程--Head/Tail命令详解

      head 与 tail 就像它的名字一样的浅显易懂,它是用来显示开头或结尾某个数量的文字区块,head 用来显示档案的开头至标准输出中,而 tail 想当然尔就是看档案的结尾,看看下面的范例:## ( ...

    5. PhantomJS linux系统下安装步骤及使用方法(网页截屏功能)

      PhantomJS 是一个基于 WebKit 的服务器端 JavaScript API.它全面支持web而不需浏览器支持,其快速,原生支持各种Web标准: DOM 处理, CSS 选择器, JSON, ...

    6. strace命令使用

      在调试的时候,strace能帮助你追踪到一个程序所执行的系统调用.当你想知道程序和操作系统如何交互的时候,这是极其方便的,比如你想知道执行了哪些系统调用,并且以何种顺序执行. 这个简单而又强大的工具几 ...

    7. Learning Bayesian Network Classifiers by Maximizing Conditional Likelihood

      Abstract Bayesian networks are a powerful probabilistic representation, and their use for classifica ...

    8. iOS thirdKeyboard Develop (APP Extension)

      如果需要开发第三方键盘 首先得了解一下苹果官方文档  https://developer.apple.com/library/ios/documentation/General/Conceptual/ ...

    9. iOS-打电话、发短信、发邮件、打开浏览器

      - (IBAction)showAlert:(UIButton *)sender { NSString *phoneNumber=@"18500138888"; NSString ...

    10. 构造一个简单的Linux系统MenuOS

      陈智威20135125 原创作品转载请注明出处 <Linux内核分析>MOOC课程http://mooc.study.163.com/course/USTC-1000029000 实验指导 ...