安全传输数据的实现

数据在传输过程中,如果保证数据的完整性,实现数字签名,安全传输的过程如下

加密过程

以上这个加密过程解释如下

加密过程

先用hash 获取到一个摘要值

用A的私钥来加密这个摘要值

然后A生成一个对称的密钥,效率高 ,用这个对称密钥来加密 (数据+A私钥加密的摘要)

用B的公钥来加密对称密钥的key

将这段数据发送出去

解密过程:

B收到数据后,用自己的私钥来解密,获取到A的对称公钥的key

得到A的对称key后来解密{数据+A私钥加密的摘要}

得到数据后,B用A的公钥来解密 经过 A私钥加密的摘要,确保这段数据是有A发过来的,数字签名的效果

得到hash的摘要值后,B将得到的数据data也进行同样的hash算法得到hash 摘要B,

对比摘要A和摘要B,这两段hash值,如果一样,就确定数据没有被更改过,保证了数据的完整性

时间: 2024-10-11 08:03:44

安全传输数据的实现的相关文章

以rsync的daemon工作模式传输数据

一.简介 rsync主要有三种工作方式: 1.单个主机本地之间的数据传输(类似于cp命令的功能) 2.借助rcp,ssh等通道来传输数据(类似于scp命令的功能) 3.以守护进程(socket)的方式传输数据(rsync自身的重要功能) 这里描述的是以第三种模式处理. 此例子准备了两台机器,分别为服务端10.0.0.41-backup,客户端10.0.0.100-oldboy. 二.在服务端启动及检查rsync服务 [[email protected]]# rsync --deamon #启动服

android之activity间传输数据

MainActivity如下: package com.example.helloworld; import android.app.Activity; import android.content.Intent; import android.os.Bundle; import android.view.View; import android.view.View.OnClickListener; import android.widget.Button; public class MainA

UDP传输数据

这里只设置了一个输入端和一个接收端,由于没有设置线程,只能单方向传输数据 1.输入端程序 import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.net.DatagramPacket; import java.net.DatagramSocket; import java.net.InetAddress; public class 输入端 {

通过PHP前端后台交互/通过ajax前端后台交互/php基础传输数据应用/简单的留言版/简单的注册账户/简单的登录页/

  前  言  PHP     通过上一篇博客,注册账号与登录页面--前后台数据交互  跳转转到index主页,接下来进入主页留言板功能,通过ajax向后台传输数据,同时发表留言. 具体的内容分析如下: ① PHP中的数据传输-->>--在主页先添加基础HTML5基本框架,通过form表单提交数据 >>由主页传输给主页后台-->>主页后台经过转码保存实例化的文件 ②主页后台通过判断(是否保存文件)使用输出语句输出true或false,前台通过ajax中的post中的fu

php中curl模拟浏览器来传输数据

cURL可以使用URL的语法模拟浏览器来传输数据, 因为它是模拟浏览器,因此它同样支持多种协议,FTP, FTPS, HTTP, HTTPS, GOPHER, TELNET, DICT, FILE 以及 LDAP等协议都可以很好的支持,包括一些:HTTPS认证,HTTP POST方法,HTTP PUT方法,FTP上传,keyberos认证,HTTP上传,代理服务器,cookies,用户名/密码认证,下载文件断点续传,上传文件断点续传,http代理服务器管道,甚至它还支持IPv6,scoket5代

让你系统认识flume及安装和使用flume1.5传输数据到hadoop2.2

问题导读:1.什么是flume?2.如何安装flume?3.flume的配置文件与其它软件有什么不同?一.认识flume1.flume是什么?这里简单介绍一下,它是Cloudera的一个产品2.flume是干什么的?收集日志的3.flume如何搜集日志?我们把flume比作情报人员(1)搜集信息(2)获取记忆信息(3)传递报告间谍信息flume是怎么完成上面三件事情的,三个组件:source: 搜集信息channel:传递信息sink:存储信息上面有点简练,详细可以参考Flume内置channe

如何使用 Visual C# 2005 或 Visual C# .NET 向 Excel 工作簿传输数据

本文分步介绍了多种从 Microsoft Visual C# 2005 或 Microsoft Visual C# .NET 程序向 Microsoft Excel 2002 传输数据的方法.本文还提供了每种方法的优点和缺点,以便您可以选择最适合您的情况的解决方案. 概述 最常用于向 Excel 工作簿传输数据的方法是"自动化".利用"自动化"功能,您可以调用特定于 Excel 任务的方法和属性."自动化"功能为您提供了指定数据在工作簿中所处的位

Android在 普通类(非Activity,多数为Adapter) 中 传输数据为空值 解决方法 :在startActivity 用 intent传输数据

这是bundle是传输不了数据的,获取到 出现这种情况的原因是非activity类中不存在Context,而在活动中传输数据时需要Context. 我收集到了两种解决方法. 1. 在调用该Adapter的Activity中声明一个Activity(或者Context).  public static Activity mActivity; 然后再onCreate函数中给mActivity赋值.  mActivity = this; 然后在Adapter中调用这个静态的mActivity就可以启动

python网络编程之UDP方式传输数据

UDP --- 用户数据报协议(User Datagram Protocol),是一个无连接的简单的面向数据报的运输层协议. UDP不提供可靠性,它只是把应用程序传给IP层的数据报发送出去,但是并不能保证它们能到达目的地. 由于UDP在传输数据报前不用在客户和服务器之间建立一个连接,且没有超时重发等机制,故而传输速度很快. 开发环境:linux下pycharm3.5 测试:使用terminal终端测试 使用 nc -u ip 端口 进行测试客户端 使用 nc -lu ip 端口 进行测试服务器端

使用同步适配器(sync adapter)传输数据

在android设备与web服务器之间实现数据同步能显著提高你的应用的实用性,让你的应用更受用户的欢迎.比如说,你的数据上传给web服务器,这就有了一个实用的备份.当用户的设备离线工作时,这时从服务器下载输数据是很有用的.有些情况下,用户可能会觉得通过网页的同步接口来输入或编辑数据更方便,因为这些数据很快就从同页上同步过来了,他们也可能想在一段时间内采集数据然后再将数据上传到中央存储区. 尽管你可以自己为你的应用设计一套数据传输系统, 你仍应该考虑使用Android的Sync adapter f