对称密钥

【网络安全】加解密算法最详解

两盒软妹~` 提交于 2019-12-01 08:12:29
数据签名、加密是前后端开发经常需要使用到的技术,应用场景包括不限于用户登入、数据交易、信息通讯等,不同的应用场景也会需要使用到不同的签名加密算法,或者需要搭配不一样的 签名加密算法来达到业务目标。常用的加密算法有: 对称加密算法; 非对称加密算法; 哈希算法,加盐哈希算法(单向加密); 数字签名。 使用加密签名算法,可以达到下面的安全目标: 保密性:防止用户的数据被读取; 数据完整性:防止数据被篡改; 身份验证:确保数据发自特定的一方。 对称加密 # 对称加密算法加密和解密时使用同一把秘钥。操作比较简单,加密速度快,秘钥简单。经常在消息发送方需要加密大量数据时使用。缺点是风险都在这个秘钥上面,一旦被窃取,信息会暴露。所以安全级别不够高。常用对称加密算法有DES,3DES,AES等。在jdk中也都有封装。 DES # DES的秘钥为8个字节,64个bit位。(不适应当今分布式开放网络对数据加密安全性的要求)在Java进行DES、3DES和AES三种对称加密算法时,常采用的是NoPadding(不填充)、Zeros填充(0填充)、PKCS5Padding填充。 一个DES的列子: Copy import javax.crypto.Cipher; import javax.crypto.SecretKey; import javax.crypto.SecretKeyFactory;

加密算法理解总结

南笙酒味 提交于 2019-12-01 08:04:43
对称加密算法 加密和解密使用同一个密钥 非对称加密 简介:非对称性加密,也叫公钥加密,加密解密的过程使用不同的密钥。 密钥分为公钥与私钥: - 公钥:从私钥中提取产生;可公开给所有人;pubkey - 私钥:通过工具创建,使用者自己留存,必须保证其私密性;secret key; 特点:用公钥加密的数据,只能使用与之配对儿的私钥解密;私钥加密的数据只能使用与之配对的公钥解密。而私钥一般只有一个,而公钥可以有多个主机同时拥有。 来源: https://www.cnblogs.com/zidonghuaqianxing/p/11671857.html

爬虫之爬虫概述

牧云@^-^@ 提交于 2019-12-01 05:23:59
环境: anaconda anaconda: 是一个集成环境(数据分析+机器学习),提供了一个叫做jupyter的可视化工具(基于浏览器) 启动: cmd>jupyter notebook jupyter的基本使用: 快捷键: 插入cell:a,b 删除:x 执行:shift+enter 切换cell的模式:y,m tab:自动补全 打开帮助文档:shift+tab cell分为两种模式 code:编码 markdown:编写文本 一, 爬虫概述 什么是爬虫: 爬虫就是通过编写程序模拟浏览器上网,然后让其去互联网上抓取数据的过程。 爬虫的分类: 通用爬虫:通用爬虫是搜索引擎(Baidu、Google、Yahoo等)“抓取系统”的重要组成部分。主要目的是将互联网上的网页下载到本地,形成一个互联网内容的镜像备份。 简单来讲就是尽可能的;把互联网上的所有的网页下载下来,放到本地服务器里形成备分,在对这些网页做相关处理(提取关键字、去掉广告),最后提供一个用户检索接口。 搜索引擎如何抓取互联网上的网站数据? 门户网站主动向搜索引擎公司提供其网站的url 搜索引擎公司与DNS服务商合作,获取网站的url 门户网站主动挂靠在一些知名网站的友情链接中 聚焦爬虫:聚焦爬虫是根据指定的需求抓取网络上指定的数据。例如:获取豆瓣上电影的名称和影评,而不是获取整张页面中所有的数据值。 增量式爬虫

DES、3DES加密算法(转载整理)

依然范特西╮ 提交于 2019-12-01 03:33:27
文章1: 这一篇文章要解决数据加密——数据补位的问题、DES算法的两种模式ECB和CBC问题以及更加安全的算法——3DES算法。 一、数据补位 DES数据加解密就是将数据按照8个字节一段进行DES加密或解密得到一段8个字节的密文或者明文,最后一段不足8个字节,按照需求补足8个字节(通常补00或者FF,根据实际要求不同)进行计算,之后按照顺序将计算所得的数据连在一起即可。 这里有个问题就是为什么要进行数据补位?主要原因是DES算法加解密时要求数据必须为8个字节。 二、ECB模式 DES ECB(电子密本方式)其实非常简单,就是将数据按照8个字节一段进行DES加密或解密得到一段8个字节的密文或者明文,最后一段不足8个字节,按照需求补足8个字节进行计算,之后按照顺序将计算所得的数据连在一起即可,各段数据之间互不影响。 三、CBC模式 DES CBC(密文分组链接方式)有点麻烦,它的实现机制使加密的各段数据之间有了联系。其实现的机理如下: 加密步骤如下: 1)首先将数据按照8个字节一组进行分组得到D1D2......Dn(若数据不是8的整数倍,用指定的PADDING数据补位) 2)第一组数据D1与初始化向量I异或后的结果进行DES加密得到第一组密文C1(初始化向量I为全零) 3)第二组数据D2与第一组的加密结果C1异或以后的结果进行DES加密,得到第二组密文C2 4)之后的数据以此类推

https原理 就是两次http

老子叫甜甜 提交于 2019-11-30 18:39:26
客户端在使用HTTPS方式与Web服务器通信时有以下几个步骤: (1)客户使用https的URL访问Web服务器,要求与Web服务器建立SSL连接。 (2)Web服务器收到客户端请求后,会将网站的证书信息(证书中包含公钥)传送一份给客户端。 (3)客户端的浏览器与Web服务器开始协商SSL连接的安全等级,也就是信息加密的等级。 (4)客户端的浏览器根据双方同意的安全等级,建立会话密钥,然后利用网站的公钥将会话密钥加密,并传送给网站。 (5)Web服务器利用自己的私钥解密出会话密钥。 (6)Web服务器利用会话密钥加密与客户端之间的通信。 HTTPS 协议优点,比http强在哪里? 1 内容加密。浏览器到百度服务器的内容都是以加密形式传输,中间者无法直接查看原始内容。 2 身份认证。保证用户访问的是百度服务,即使被 DNS 劫持到了第三方站点,也会提醒用户没有访问百度服务,有可能被劫持 3 数据完整性。防止内容被第三方冒充或者篡改。 HTTPS通信过程 HTTPS协议 = HTTP协议 + SSL/TLS协议 ,在HTTPS数据传输的过程中,需要用SSL/TLS对数据进行加密和解密,需要用HTTP对加密后的数据进行传输,由此可以看出HTTPS是由HTTP和SSL/TLS一起合作完成的。 SSL的全称是Secure Sockets Layer,即安全套接层协议

# linux软件管理

回眸只為那壹抹淺笑 提交于 2019-11-30 16:44:17
目录 linux软件管理 获取程序包的途径 软件包管理器的职责 软件包管理器的核心功能 软件包管理 软件包管理工具 rpm包命名规范 rpm包管理 什么是rpm及其作用 RPM包查询 RPM包卸载 RPM包校验 RPM重建数据库 检查软件包来源合法性和完整性 作业 1. 如何查询util-linux软件包安装了那些文件? 2. 如何查询 mkdir 命令是由哪个 RPM 软件包安装的? 3. 升级软件包时,-F、-U选项有何区别? 4. 如何检查vsftpd软件包是否安装? 5. 如何检查vsftpd软件包所有的文件存放目录? 6.如何检查vsftpd软件包的配置文件? 7.如何使用rpm安装vsftpd服务? 8.如何使用rpm强制安装依赖包? 8. 如何使用rpm强制安装依赖包? 9. 如何使用rpm卸载vsftpd软件包? 将本章学习到的rpm命令整理成一个列表,写明每个命令的作用 linux软件管理 @ 获取程序包的途径 系统发行版的光盘或官方的服务器 http://mirrors.aliyun.com http://mirrors.sohu.com http://mirrors.163.com 项目官方站点 第三方组织 Fedora-EPEL(推荐) 搜索引擎: http://pkgs.org http://rpmfind.net http://rpm.pbone.net

HTTP协议学习(1)

旧城冷巷雨未停 提交于 2019-11-30 13:20:10
1. HTTP首部信息格式 1. 简介:HTTP,即超文本传输协议,是TCP/IP协议模型中的一个应用层协议,用于描述浏览器与服务器之间进行交流的数据的固定格式。浏览器以固定格式将数据打包发送给服务器,服务器以这个固定格式对数据包进行拆包,或者相反进行。HTTP协议中的首部信息为两种,一种是HTTP请求,另一种是HTTP响应。 2. HTTP协议的请求:客户端发送请求对应的数据格式, 请求首部信息包括两部分,主要是请求行、请求头 。请求体是数据部分。 请求行 :第一个红框内的内容,包括 请求方式 (get、post等方式), 请求地址以及使用的HTTP协议版本 。在Restful标准中,每一种请求方式都有着其特殊含义,比如get表示获取资源、post表示发送文本数据、put表示发送文件、delete表示删除文件等等,但开发中我们还是只用到了get以及post get:能传输的数据大小会受到限制,而且传输的参数列表会显示在地址栏,安全性较低。 post:能传输的数据大小不会受到限制,传输的参数列表不会显示在地址栏,安全性较高。 请求头 :第二个红框内的内容就是请求头,以键值对形式存在,部分请求头字段如下 Accept :表示浏览器可以接受的数据形式。 Accept-Encoding:浏览器接受的编码格式 Content-Type:表示请求中发送的数据类型 Accept

Linux软件管理.md

一个人想着一个人 提交于 2019-11-30 13:19:30
目录 软件管理 1.获取程序包的途径 2.软件包管理器的职责 3.软件包管理器的核心功能 4.软件包管理 5.软件包分类 6.软件包管理工具 7.软件安装方式 8.rpm包命名规范 9.rpm包管理 9.1.什么是rpm及其作用 9.2.rpm包安装 9.3.rpm包查询 9.4.rpm包升级 9.5.rpm包卸载 9.6.rpm包校验 9.7.rpm重建数据库 9.8.检查软件包来源合法性和完整性 软件管理 1.获取程序包的途径 系统发行版的光盘或官方的服务器 http://mirrors.aliyun.com http://mirrors.sohu.com http://mirrors.163.com 项目官方站点 第三方组织 Fedora-EPEL(推荐) 搜索引擎: http://pkgs.org http://rpmfind.net http://rpm.pbone.net 自己制作 2.软件包管理器的职责 将二进制程序,库文件,配置文件,帮助文件打包成一个文件; 安装软件时按需将二进制文件,库文件,配置文件,帮助文件放到相应的位置; 生成数据库,追踪所安装的每一个文件; 软件卸载时根据安装时生成的数据库将对应的文件删除 3.软件包管理器的核心功能 制作软件包 安装软件 卸载软件 升级软件 查询软件 校验软件 4.软件包管理 程序的组成清单(每个包独有) 文件清单

Python网络爬虫——http和https协议

天涯浪子 提交于 2019-11-30 00:37:20
一.HTTP协议   1.官方概念:     HTTP协议是Hyper Text Transfer Protocol(超文本传输协议)的缩写,是用于从万维网(WWW:World Wide Web )服务器传输超文本到本地浏览器的传送协议。(虽然童鞋们将这条概念都看烂了,但是也没办法,毕竟这就是HTTP的权威官方的概念解释,要想彻底理解,请客观目移下侧......)   2.白话概念:     HTTP协议就是服务器(Server)和客户端(Client)之间进行数据交互(相互传输数据)的一种形式。我们可以将Server和Client进行拟人化,那么该协议就是Server和Client这两兄弟间指定的一种交互沟通方式。 3.HTTP工作原理:     HTTP协议工作于客户端-服务端架构为上。浏览器作为HTTP客户端通过URL向HTTP服务端即WEB服务器发送所有请求。Web服务器根据接收到的请求后,向客户端发送响应信息。                        4.HTTP四点注意事项:     - HTTP允许传输任意类型的数据对象。正在传输的类型由Content-Type加以标记。      - HTTP是无连接:无连接的含义是限制每次连接只处理一个请求。服务器处理完客户的请求,并收到客户的应答后,即断开连接。采用这种方式可以节省传输时间。     -

RSA加密解密

可紊 提交于 2019-11-29 18:12:26
RSA公钥加密算法是1977年由Ron Rivest、Adi Shamirh和LenAdleman在(美国麻省理工学院)开发的。RSA取名来自开发他们三者的名字。RSA是目前最有影响力的公钥加密算法,它能够抵抗到目前为止已知的所有密码攻击,已被ISO推荐为公钥数据加密标准。RSA算法基于一个十分简单的数论事实:将两个大素数相乘十分容易,但那时想要对其乘积进行因式分解却极其困难,因此可以将乘积公开作为加密密钥。RSA算法是第一个能同时用于加密和数字签名的算法,也易于理解和操作。   RSA是被研究得最广泛的公钥算法,从提出到现在已近二十年,经历了各种攻击的考验,逐渐为人们接受,普遍认为是目前最优秀的公钥方案之一。RSA的安全性依赖于大数的因子分解,但并没有从理论上证明破译RSA的难度与大数分解难度等价。即RSA的重大缺陷是无法从理论上把握它的保密性能如何,而且密码学界多数人士倾向于因子分解不是NPC问题。   RSA的缺点主要有: A)产生密钥很麻烦,受到素数产生技术的限制,因而难以做到一次一密。 B)分组长度太大,为保证安全性,n 至少也要 600bits以上,使运算代价很高,尤其是速度较慢,较对称密码算法慢几个数量级;且随着大数分解技术的发展,这个 长度还在增加,不利于数据格式的标准化。目前,SET(Secure Electronic Transaction