公钥加密

OpenSSL加密系统简介

久未见 提交于 2020-02-03 08:52:48
加密基本原理 OpenSSL移植到arm开发板参考 http://blog.chinaunix.net/uid-27717694-id-3530600.html 1、 公钥和私钥 : 公钥和私钥就是俗称的不对称加密方式,是从以前的对称加密(使用用户名与密码)方式的提高。用电子邮件的方式说明一下原理。 使用公钥与私钥的目的就是实现安全的电子邮件,必须实现如下目的: 1. 我发送给你的内容必须加密,在邮件的传输过程中不能被别人看到。 2. 必须保证是我发送的邮件,不是别人冒充我的。 要达到这样的目标必须发送邮件的两人都有公钥和私钥。 公钥,就是给大家用的,你可以通过电子邮件发布,可以通过网站让别人下载,公钥其实是用来加密/验章用的。私钥,就是自己的,必须非常小心保存,最好加上 密码,私钥是用来解密/签章,首先就Key的所有权来说,私钥只有个人拥有。公钥与私钥的作用是:用公钥加密的内容只能用私钥解密,用私钥加密的内容只能 用公钥解密。 比如说,我要给你发送一个加密的邮件。首先,我必须拥有你的公钥,你也必须拥有我的公钥。 首先,我用你的公钥给这个邮件加密,这样就保证这个邮件不被别人看到,而且保证这个邮件在传送过程中没有被修改。你收到邮件后,用你的私钥就可以解密,就能看到内容。 其次我用我的私钥给这个邮件加密,发送到你手里后,你可以用我的公钥解密。因为私钥只有我手里有

使用支付宝开放平台助手生成私钥

微笑、不失礼 提交于 2020-02-02 22:08:24
使用支付宝开放平台助手生成私钥 这是官网的地址 https://docs.open.alipay.com/291/105971/ 可以在链接里面下载使用工具 key之间的关系 应用公钥(public key)需提供给支付宝账号管理者上传到支付宝开放平台;应用私钥(private key)由开发者自己保存,需填写到代码中供签名时使用。加密的过程为系统使用公钥(public key)进行加密,并将密文发送到解密者,解密者用私钥(private key)解密将密文解码为明文。 使用支付宝开放平台助手 点击生成密钥 打开所在的文件夹 在小程序设置里面添加接口加密方式 如果有支付需求的话可以使用公钥证书,我这里选择公钥 之后的界面就是 来源: CSDN 作者: L归子莫 链接: https://blog.csdn.net/qq_45163122/article/details/104148904

HTTPS 详解一:附带最精美详尽的 HTTPS 原理图

佐手、 提交于 2020-02-02 13:20:48
HTTPS 详解一:附带最精美详尽的 HTTPS 原理图 HTTPS详解二:SSL / TLS 工作原理和详细握手过程 前言 作为一个有追求的程序员,了解行业发展趋势和扩充自己的计算机知识储备都是很有必要的,特别是一些计算机基础方面的内容,就比如本篇文章要讲的计算机网络方面的知识。本文将为大家详细梳理一下 HTTPS 的实现原理。 近年来,随着用户和互联网企业安全意识的提高和 HTTPS 成本的下降,HTTPS 已经越来越普及。很多互联网巨头也在力推 HTTPS,比如谷歌的 Chrome 浏览器在访问 HTTP 网站时会在地址栏显示不安全的提醒,微信要求所有的小程序必须使用 HTTPS 传输协议,苹果也要求所有在 App Store 上架的应用必须采用 HTTPS ,国内外的大部分主流网站也都已迁移至 HTTPS,可见 HTTPS 全面取代 HTTP 只是时间问题。 说了这么多,究竟什么是 HTTPS,它与 HTTP 相比有什么优缺点?其底层原理又是怎么实现的呢?下面就为你一一解答,先来看一下 HTTP 的弊端吧。 1、HTTP 的最大弊端——不安全 HTTP 之所以被 HTTPS 取代,最大的原因就是不安全,至于为什么不安全,看了下面这张图就一目了然了。 图1. HTTP数据传输过程 由图可见,HTTP 在传输数据的过程中,所有的数据都是明文传输,自然没有安全性可言

前端需要了解的http知识

旧巷老猫 提交于 2020-02-02 04:02:22
http基本概念 http是一个无状态 ,无连接的基于TCP协议的单向应用层协议 一、无连接 无连接即每次链接只处理一个请求,请求和应答后就断开链接 二、无状态 http的每次请求都是独立的,不相关的,协议对事物处理没有记忆功能。 HTTP无状态的特性严重阻碍了这些交互式应用程序的实现,毕竟交互是需要承前启后的,简单的购物车程序也要知道用户到底在之前选择了什么商品。于是,两种用于保持HTTP状态的技术就应运而生了,一个是Cookie,而另一个则是Session。 HTTP请求报文 HTTP请求报文由3部分组成(报文行+报文头+报文体): 常见的HTTP响应报文头属性 Cache-Control 响应输出到客户端后,服务端通过该报文头属告诉客户端如何控制响应内容的缓存。 常见的取值有private、public、no-cache、max-age,no-store,默认为private。 private: 客户端可以缓存 public: 客户端和代理服务器都可缓存(前端的同学,可以认为public和private是一样的) max-age=xxx: 缓存的内容将在 xxx 秒后失效 no-cache: 需要使用对比缓存来验证缓存数据 no-store: 所有内容都不会缓存 默认为private,缓存时间为31536000秒(365天)也就是说,在365天内再次请求这条数据

C#-VS程序集

筅森魡賤 提交于 2020-02-01 08:26:58
程序集即代码组,可以是单个文件或多个文件,按一个整体部署,但可指定自身调用其他程序集的版本。 推出原因 为解决dll地狱而推出,也可解决其他问题。dll地狱,a应用使用dll版本1,b应用使用dll版本2,传统的com(一般用dll执行)模式,会自动调用最新版本的dll,如果这个dll不向后兼容(大多dll都不向后兼容),导致装了b应用后,a应用不能使用。 .net模式,在程序集中,指定使用哪个版本,在调用时,默认使用指定的版本,解决了dll地狱问题。 程序集信息 主版本,次版本、修订号、内部版本号 公司公钥 程序集人类友好名称 程序清单。包含在一个可执行文件中,或表示为一个独立的文件。 提供的自定义类型 引用其他程序集的信息。名称、版本、区域性和公钥。 类型元数据。程序集提供给外部使用的自定义类型 msil代码。各种语言最终被编译成的代码,这代码能被clr执行 资源。通常指图片、本地化翻译文本等被塞入程序集的所有其他文件。 构建程序集 写入上述程序集信息,还可以自定义特性,设置一般特性是[assembly:AttributeName("AttibuteValue")]注意不是语言的一部分,但在程序文件中,不用分号。要引用system.Reflection空间。程序集信息也可以在VS的解决方案管理器,项目文件,右键属性设置。 创建单文件程序集 用csc 程序集文件名 或VS的生成

使用PGP实现电子邮件安全

五迷三道 提交于 2020-02-01 03:44:58
一、实验目的: 1、了解加密工具 PGP 的原理 2、熟悉 PGP 简单配置方法 二、实验环境: 安装 PGP 加密软件;主机操作系统为 Windows 三、实验内容: (写出主要的内容) 在主机xp上 打开PGD 创建一个公钥 在xp副本上 同样创建一个公钥 将cp副本的公钥导出来 然后在创建 创建一个txt文件 即将使用s公钥进行签名加密 语句被签名成功 然后将 已经签名的文档 和 s_1的公钥传给主机s 进行解密 在主机ss上 使用PGP 导入 s_1的公钥 导入成功 从xp机(ss)打开从xp副本(s)发来的签名文档进行解密 解密成功 来源: CSDN 作者: ITarmi 链接: https://blog.csdn.net/ITarmi/article/details/103643212

RSA加密算法

亡梦爱人 提交于 2020-01-27 05:14:31
RSA加密算法   RSA公钥加密算法是1977年由Ron Rivest, Adi Shamir 和Leonard Adleman一起提出,RSA就是他们三人姓氏开头字母拼在一起组成的。RSA是目前最有影响力和最常用的公钥加密算法,它能够抵抗到目前为止已知的绝大多数密码攻击,至今未被完全攻破。目前已被ISO推荐为公钥数据加密标准。   RSA算法是第一个能同时用于加密和数字签名的算法,也易于理解和操作。RSA是被研究得最广泛的公钥算法,从提出到现今的三十多年里,经历了各种攻击的考验,逐渐为人们接受,截止2017年被普遍认为是最优秀的公钥方案之一。 RSA公开密钥密码体制 所谓的公开密钥密码体制就是使用不同的加密密钥与解密密钥,是一种“由已知加密密钥推导出解密密钥在计算上是不可行的”密码体制。 在公开密钥密码体制中,加密密钥(即公开密钥)PK是公开信息,而解密密钥(即秘密密钥)SK是需要保密的。加密算法E和解密算法D也都是公开的。虽然解密密钥SK是由公开密钥PK决定的,但却不能根据PK计算出SK。    根据密钥的使用方法,可以将密码分为对称密码和公钥密码     对称密码:加密和解密使用同一种密钥的方式     公钥密码:加密和解密使用不同的密码的方式,因此公钥密码通常也称为非对称密码。 RSA算法实现过程 RSA 算法基于一个十分简单的数论事实:将两个大素数相乘十分容易

HTTP和HTTPS协议

假如想象 提交于 2020-01-26 20:20:47
介绍 http [1] 是Hyper Text Transfer Protocol(超文本传输协议)的缩写,是一种应用层协议,可用于将超文本服务器中文本、图片、音视频等内容传输到客户端浏览器。 构建与互联网之上的万维网,其主要组成部分就是http协议。目前使用的最广泛的http协议版本是http1.1。 最初的HTTP协议是万维网1991年诞生时,蒂姆·伯纳斯·李爵士(Sir Tim Berners-Lee)在European Organization for Nuclear Research使用的协议。之后万维网协会(World Wide Web Consortium)和Internet工作小组(Internet Engineering Task Force)合作,并最终发布了一系列的RFC,其中最著名的就是RFC 2616。RFC 2616定义了我们今天普遍使用的HTTP协议的一个版本——HTTP1.1。 在TCP/IP参考模型中和OSI参考模型中,http协议处于应用层的位置,http规定了客户端和Web服务端的通信协议,而html则规定了传输的内容的格式、类型。https是在http的基础上,增加了TLS/SSL协议,为通信内容进行加密操作。 http通信过程 http协议默认使用TCP的80端口进行通信。通过在浏览器中输入网站地址,URL (Uniform

看完这篇文章,我奶奶都懂了https的原理

僤鯓⒐⒋嵵緔 提交于 2020-01-26 18:48:35
  前言   前段时间看到一篇文章讲如何保证API调用时数据的安全性(传送门: https://blog.csdn.net/ityouknow/article/details/80603617 ),文中讲到利用RSA来加密传输AES的秘钥,用AES来加密数据,并提供如下思路:   说人话就是前、后端各自生成自己的RSA秘钥对(公钥、私钥),然后交换公钥(后端给前端的是正常的明文公钥,前端给后端的是用后端公钥加密后的密文公钥;PS:其实我觉得直接交换两个明文公钥就行了),后端生成AES的 明文key ,用明文key进行AES加密得到 密文数据 ,用前端的公钥进行RSA加密得到 密文key ,API交互时 并将密文数据与密文key进行传输,前端用自己的私钥进行RAS解密的到明文key,用明文key进行AES解密得到明文数据;前端给后端发送数据时同理,这样一来,传输的数据都是密文,且只有秘钥才能解密   可惜这篇博客只提供了思路,但并没有具体的代码,我们在网上查找一下资料,开始生撸代码,实现一个前后端API交互数据加密——AES与RSA混合加密,并应用到项目中   后端加、解密   从网上查找工具类,再进行改造   先引入Base64工具类 <!-- Base64编码需要 --> <dependency> <groupId>org.apache.directory.studio<

RSA 加密

你离开我真会死。 提交于 2020-01-26 10:18:57
1、RSA算法介绍 RSA是目前最有影响力的公钥加密算法,该算法基于一个十分简单的数论事实:将两个大素数相乘十分容易,但那时想要对其乘积进行因式分解却极其困难,因此可以将乘积公开作为加密密钥,即公钥,而两个大素数组合成私钥。公钥是可发布的供任何人使用,私钥则为自己所有,供解密之用。 解密者拥有私钥,并且将由私钥计算生成的公钥发布给加密者。加密都使用公钥进行加密,并将密文发送到解密者,解密者用私钥解密将密文解码为明文。 以甲要把信息发给乙为例,首先确定角色:甲为加密者,乙为解密者。首先由乙随机确定一个KEY,称之为密匙,将这个KEY始终保存在机器B中而不发出来;然后,由这个 KEY计算出另一个KEY,称之为公匙。这个公钥的特性是几乎不可能通过它自身计算出生成它的私钥。接下来通过网络把这个公钥传给甲,甲收到公钥后,利用公钥对信息加密,并把密文通过网络发送到乙,最后乙利用已知的私钥,就对密文进行解码了。以上就是RSA算法的工作流程。 2、RSA算法实现 1. 随意选择两个大的质数p和q,p不等于q,计算N=pq。 2. 根据欧拉函数,不大于N且与N互质的整数個数為(p-1)(q-1)。 3. 选择一个整数e与(p-1)(q-1)互质,并且e小于(p-1)(q-1)。 4. 用以下这个公式计算d:d× e ≡ 1 (mod (p-1)(q-1))。 5. 将p和q的记录销毁。 以上内容中,