对称密钥

信息的加密与解密

僤鯓⒐⒋嵵緔 提交于 2019-11-29 15:16:38
信息的加密与解密 信息的加密现有两种 对称加密:使用同一个密钥对信息进行加密和解密称为对称加密。 使用场景:A与B共同约定并存储一个密钥。 A -> B: A 使用密钥对数据进行加密后得到加密的信息发送给 B,B 使用该密钥对加密的信息进行解密,得到原始信息。 B -> A: B 使用密钥对数据进行加密后得到加密的数据发送给 A,A 使用该密钥对加密的数据进行解密,得到原始数据。 优点:加密解密速度快。 缺点: 相对不安全,由于 AB 双方使用的是同一个密钥进行加密解密,任何一方的密钥泄漏,整个加密解密过程就暴露了。 在与多方进行通信的时候必须使用不同的密钥,多个密钥造成密钥管理困难。如果 A 与 B 通信时和 A 与 C 通信时使用的是同一个密钥,那么如果 C 获取到了 A 与 B 通信时加密的信息就可以使用密钥进行解密,造成 A 与 B 之间信息的泄露。 非对称加密:加密和解密使用不同的密钥。如果加密使用的是公钥,那么就必须要私钥来解密。如果加密使用的是私钥,必须要公钥进行解密。在此需要先了解公钥、私钥这两个概念。 公钥:供给别人使用的密钥,使用公钥对信息加密的过程称之为加密,主要目的为防止信息传输过程中的泄漏。因为用于解密的私钥只有自己拥有。 私钥:供给自己使用的密钥,使用私钥对信息加密的过程称之为签名,主要目的是为了确保信息是由自己发出的

计算机网络基础(前端相关)

随声附和 提交于 2019-11-29 06:38:01
计算机网络基础(前端相关) 一、基础概念 1.URI 2.请求和相应报文 2.1 请求报文 2.2 响应报文 二、HTTP方法 1. GET(获取资源) 2. HEAD(获取报文首部) 3. POST(传输实体主体) 4. PUT(上传文件) 5. PATCH(对资源进行部分修改) 6. DELETE(删除文件) 7. OPTIONS(查询支持的方法) 8. CONNECT(要求在于代理服务器通信时建立隧道) 9. TRACE(追踪路径) 三、HTTP状态码 四、 HTTP首部 五、具体应用 连接管理 1. 短链接与长连接 2. 流水线 Cookie 1. 用途 2. 创建过程 3. 分类 4. 作用域 5. JavaScript 6. HttpOnly 7. Secure 8. Session 9. 浏览器禁用Cookie 10. Cookie与Session选择 缓存 1.优点 2. 实现方法 3. Cache-Control 3.1 禁止进行缓存 3.2 强制确认缓存 3.3 私有缓存和公共缓存 3.4 缓存过期机制 4. 缓存验证 内容协商 1. 类型 1.1 服务端驱动型 1.2 代理驱动型 2. Vary 内容编码 范围请求 1. Range 2. Accept-Ranges 3.响应状态码 分块传输编码 多部分对象集合 虚拟主机 通信数据转发 1. 代理 2. 网关

C#开发中常用的加密解密方法

我是研究僧i 提交于 2019-11-29 05:55:36
相信很多人在开发过程中经常会遇到需要对一些重要的信息进行加密处理,今天给大家分享我个人总结的一些加密算法: 常见的加密方式分为可逆和不可逆两种方式 可逆:RSA,AES,DES等 不可逆:常见的MD5,SHAD等 一、MD5消息摘要算法 我想这是大家都常听过的算法,可能也用的比较多。那么什么是MD5算法呢?MD5全称是message-digest algorithm 5,简单的 说就是 单向的加密, 也就是说 无法根据密文推导出明文。 MD5主要用途: 1、对一段信息生成信息摘要,该摘要对该信息具有唯一性,可以作为数字签名 2、用于验证文件的有效性(是否有丢失或损坏的数据) 3、对用户密码的加密 4、在哈希函数中计算散列值 从上边的主要用途中我们看到,由于算法的某些不可逆特征,在加密应用上有较好的安全性。通过使用MD5加密算法,我们输入一个任意长度的字节串,都会生成一个128位的整数。所以根据这一点MD5被广泛的用作密码加密。下面我就像大家演示一下怎样进行密码加密。 首先需要引入命名空间,先看一个比较简单的MD5加密的例子: using System.Security; using System.Security.Cryptography; public string ToMD5(string strs) { MD5 md5 = new

爬虫——http协议和https协议

北战南征 提交于 2019-11-29 04:43:13
http协议 HTTP协议是Hyper Text Transfer Protocol(超文本传输协议)的缩写,是用于从万维网(WWW:World Wide Web )服务器传输超文本到本地浏览器的传送协议。 以上是官方对于http协议的一个解释,可能相对晦涩难懂一些,实际上http协议就是: 服务器server和客户端client之间进行数据交换的一种形式 1.http协议的工作原理 HTTP协议工作于客户端-服务端架构为上。浏览器作为HTTP客户端通过URL向HTTP服务端即WEB服务器发送所有请求。Web服务器根据接收到的请求后,向客户端发送响应信息。 2.http的四点注意事项 HTTP允许传输任意类型的数据对象。正在传输的类型由Content-Type加以标记。 HTTP是无连接:无连接的含义是限制每次连接只处理一个请求。服务器处理完客户的请求,并收到客户的应答后,即断开连接。采用这种方式可以节省传输时间。* HTTP是媒体独立的:这意味着,只要客户端和服务器知道如何处理的数据内容,任何类型的数据都可以通过HTTP发送。客户端以及服务器指定使用适合的MIME-type内容类型。 HTTP是无状态:HTTP协议是无状态协议。无状态是指协议对于事务处理没有记忆能力。缺少状态意味着如果后续处理需要前面的信息,则它必须重传,这样可能导致每次连接传送的数据量增大。另一方面

Java加密技术(十二)——*.PFX(*.p12)&个人信息交换文件

旧巷老猫 提交于 2019-11-29 01:01:13
今天来点实际工作中的硬通货! 与计费系统打交道,少不了用到加密/解密实现。为了安全起见,通过非对称加密交换对称加密密钥更是不可或缺。那么需要通过什么载体传递非对称算法公钥/私钥信息?数字证书是公钥的载体,而密钥库可以包含公钥、私钥信息。 JKS 和 PKCS#12 都是比较常用的两种密钥库格式/标准。对于前者,搞Java开发,尤其是接触过HTTPS平台的朋友,并不陌生。 JKS 文件(通常为*.jks或*.keystore,扩展名无关)可以通过Java原生工具——KeyTool生成;而后者 PKCS#12 文件(通常为*.p12或*.pfx,意味个人信息交换文件),则是通过更为常用的OpenSSL工具产生。 当然,这两者之间是可以通过导入/导出的方式进行转换的!当然,这种转换需要通过KeyTool工具进行! 回归正题,计费同事遇到一个难题:合作方交给他们一个*.pfx文件,需要他们从中提取密钥,然后进行加密交互。其实,通过Java直接操作密钥库文件(或个人信息交换文件)对于一般Java开发人员来说,这都是个冷门。不接触数字安全,根本不知所云。况且,Java原生的密钥库文件格式为JKS,如何操作*.pfx文件?密钥库操作需要获知密钥库别名,*.pfx别名是什么?!接下来就解决这些问题! 方案: 通过keytool密钥库导入命令importkeystore,将密钥库格式由PKCS

接口测试之-题目

為{幸葍}努か 提交于 2019-11-28 21:54:36
1、做接口测试当请求参数多时,tps下降明显,此接口根据参数从redis中湖区数据,每个参数与redis交互一次,当一组参数是tps5133,五组参数时tps1169,多次交互影响了处理性能,如何改进? tps就是每秒事务数,transaction per second。 吞吐量下降是可能因为频繁访问redis,而频繁访问redis的原因是参数过多,解决的思路很容易想到: 减少参数。 我们可以把多组参数变成json字符串之类的一个参数,从而达到信息量不减少而参数个数变少的效果。 2、接口的加密测试中对称加密和非对称加密有什么区别吗?如何展开测试? 对称加密: 信息交换的双方使用同一个密钥加密解密,就像是用同一把钥匙开一把锁 非对称加密 公开密钥加密(英语:Public-key cryptography),也称为非对称加密(英语:asymmetric cryptography),是密码学的一种算法,它需要两个密钥,一个是公开密钥,另一个是私有密钥;一个用作加密的时候,另一个则用作解密。使用其中 一个密钥把明文加密后所得的密文,只能用相对应的另一个密钥才能解密得到原本的明文;甚至连最初用来加密的密钥也不能用作解密。由于加密和解密需要两个不 同的密钥,故被称为非对称加密;不同于加密和解密都使用同一个密钥的对称加密。虽然两个密钥在数学上相关,但如果知道了其中一个,并不能凭此计算出另外一 个

数字证书介绍

99封情书 提交于 2019-11-28 21:01:08
一、什么是数字证书 数字证书就是互联网通讯中标志通讯各方身份信息的一系列数据,提供了一种在Internet上验证您身份的方式,其作用类似于司机的驾驶执照或日常生活中的身份证。它是由一个由权威机构-----CA机构,又称为证书授权(Certificate Authorit y)中心发行的,人们可以在网上用它来识别对方的身份。数字证书是一个经证书授权 中心数字签名的包含公开密钥拥有者信息以及公开密钥的文件。最简单的证书包含一 个公开密钥、名称以及证书授权中心的数字签名。一般情况下证书中还包括密钥的有 效时间,发证机关(证书授权中心)的名称,该证书的序列号等信息,证书的格式遵循 ITUT X.509国际标准。 一个标准的X.509数字证书包含以下一些内容: 证书的版本信息; 证书的序列号,每个证书都有一个唯一的证书序列号; 证书所使用的签名算法; 证书的发行机构名称,命名规则一般采用X.500格式; 证书的有效期,现在通用的证书一般采用UTC时间格式,它的计时范围为1950-2049; 证书所有人的名称,命名规则一般采用X.500格式; 证书所有人的公开密钥; 证书发行者对证书的签名。 二、为什么要用数字证书 基于Internet网的电子商务系统技术使在网上购物的顾客能够极其方便轻松地获 得商家和企业的信息,但同时也增加了对某些敏感或有价值的数据被滥用的风险。买

爬虫基本知识了解

泄露秘密 提交于 2019-11-28 18:33:50
1、robots.txt协议:明确指定哪些爬虫可以爬取哪些数据 2、http协议:客户端与服务器间进行数据交互的形式,简单的请求-响应协议 请求头信息: User-Agent:表示请求载体的身份标识 Connection:请求完毕后是断开(close)或保持连接(keep-alive) 相应头信息 Content-Type:服务器相应回客户端的数据类型(application/x-www-form-urlencoded; charset=UTF-8) 3、https协议:超文本传输安全协议(数据加密) 数据加密方式: 1)对称秘钥加密:双方使用相同的密钥,必须以绝对安全的形式传送密钥才能保证安全 2)非对称秘钥加密:需要两个密钥,公开密钥(publickey)和私有密钥(privatekey)。公钥与私钥是一对,如果用公钥对数据进行加密,只有用对应的私钥才能解密。因为加密和解密使用的是两个不同的密钥,所以这种算法叫作非对称加密算法 缺点:通信速度低,无法保证客户端收到的公钥的正确性 3)证书秘钥加密 来源: https://www.cnblogs.com/jodiezhu2019/p/11195662.html

漫画:什么是 HTTPS 协议?

北慕城南 提交于 2019-11-28 17:26:10
什么是HTTP协议? HTTP协议全称Hyper Text Transfer Protocol,翻译过来就是超文本传输协议,位于TCP/IP四层模型当中的应用层。 HTTP协议通过请求/响应的方式,在客户端和服务端之间进行通信。 这一切看起来很美好,但是HTTP协议有一个致命的缺点: 不够安全 。 HTTP协议的信息 传输 完全以明文方式,不做任何加密,相当于是在网络上“裸奔”。这样会导致什么问题呢?让我们打一个比方: 小灰是客户端,小灰的同事小红是服务端,有一天小灰试图给小红发送请求。 但是,由于传输信息是明文,这个信息有可能被某个中间人恶意截获甚至篡改。这种行为叫做 中间人攻击 。 如何进行加密呢? 小灰和小红可以事先约定一种 对称加密 方式,并且约定一个随机生成的密钥。后续的通信中,信息发送方都使用密钥对信息加密,而信息接收方通过同样的密钥对信息解密。 这样做是不是就绝对安全了呢?并不是。 虽然我们在后续的通信中对明文进行了加密,但是第一次约定加密方式和密钥的通信仍然是明文,如果第一次通信就已经被拦截了,那么密钥就会泄露给中间人,中间人仍然可以解密后续所有的通信内容。 这可怎么办呢?别担心,我们可以使用 非对称加密 ,为密钥的传输做一层额外的保护。 非对称加密的一组秘钥对中,包含一个公钥和一个私钥。明文既可以用公钥加密,用私钥解密;也可以用私钥加密,用公钥解密。

Http和Https的区别(面试常考题)

梦想与她 提交于 2019-11-28 17:23:03
无论是在校学习还是找工作 的时候 ,老师和面试官都问过同学 http和https的区别。平时上网的时候也没有关注这个问题,只是知道计算机网络里Http的概念,所以最近才查资料好好补补这一块。 其实这一块的知识延伸很广,如果之前不太了解加密算法和SSL协议,可以在学习了这个问题的基础上再做研究。 一、H ttp 和H ttps 的基本概念 H ttp : 超文本传输协议 (H ttp ,HyperText Transfer Protocol)是 互联网 上应用最为广泛的一种 网络协议 。设计H ttp 最初的目的是为了提供一种发布和接收 HTML 页面的方法。 它可以使浏览器更加高效。 H ttp 协议 是 以明文方式发送 信息的 ,如果 黑客 截取了Web浏览器和服务器之间的传输报文,就可以直接 获得 其中的信息 。 H ttp 原理: ① 客户端的浏览器首先要通过网络与服务器建立连接,该连接是通过TCP 来完成的,一般 TCP 连接的端口号是80。 建立连接后,客户机发送一个请求给服务器,请求方式的格式为:统一资源标识符(URL)、协议版本号,后边是 MIME 信息包括请求修饰符、客户机信息和许可内容。 ② 服务器接到请求后,给予相应的响应信息,其格式为一个状态行,包括信息的协议版本号、一个成功或错误的代码,后边是 MIME 信息包括服务器信息、实体信息和可能的内容。 H