前前后后,看了许多次关于https加解密过程的相关文档资料,一直似懂非懂.这次,终于理解了,还画了个图,做个记录. 知识点 1.对称加密:双方用同一个密码加解密.如des,aes 2.非对称加密:双方各有一对公私密码,公钥公开给别人,别人可以用它来加密:同一对的公钥加密后私钥可解,私钥加密后,公钥可解.如:rsa 3.哈希算法(摘要算法):提取内容(数据)相关信息(摘要)的一种算法,用于标识该内容.如:md5,sha-1 4.数字签名:对内容签个名,具体算法是:用自己的私钥 对自己的内容的摘要…
目录 http访问流程 https访问流程 证书 加密/解密 加签/验签 Java实现https 拓展 @ 看完整的代码,直接去完整代码实现,看实现完后会遇到的坑,直接去测试过程中的问题,包括经过代理服务器访问https,通过ip访问https等. http访问流程 我们开发java web项目时,打好war包放到tomcat应用服务器的webapps目录下,tomcat的访问端口是8080,启动tomcat,在浏览器的地址栏输入http://localhost:8080.就会看到如下 那么,看…
SSL协议通信过程 (1) 浏览器发送一个连接请求给服务器;服务器将自己的证书(包含服务器公钥S_PuKey).对称加密算法种类及其他相关信息返回客户端; (2) 客户端浏览器检查服务器传送到CA证书是否由自己信赖的CA中心签发.若是,执行4步;否则,给客户一个警告信息:询问是否继续访问. (3) 客户端浏览器比较证书里的信息,如证书有效期.服务器域名和公钥S_PK,与服务器传回的信息是否一致,如果一致,则浏览器完成对服务器的身份认证. (4) 服务器要求客户端发送客户端证书(包含客户端公钥C_…
2021.08.01 P4359 伪光滑数(二叉堆) [P4359 CQOI2016]伪光滑数 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn) 题意: 若一个大于 11 的整数 MM 的质因数分解有 k 项,其最大的质因子为 a_k,并且满足 \[a_{k}^{k} ≤N,a_k < 128 \] ,我们就称整数 M 为 N - 伪光滑数. 现在给出 NN,求所有整数中,第 KK 大的 NN - 伪光滑数. 分析: 在k一定时,如果已知p_maxn,则val_maxn=k*p_…
2021.08.01 P4311 数字序列(左偏树) [P4331 BalticOI 2004]Sequence 数字序列 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn) 重点: 1.对于左偏树的应用 2.好好复习一下高中数学必修三 题意: 给定一个整数序列a_1, a_2, ··· , a_n,求出一个递增序列b_1 < b_2 < ··· < b_n,使得序列a_i和b_i的各项之差的绝对值之和|a_1 - b_1| + |a_2 - b_2| + ··· + |a…
2021.08.01 P3377 左偏树模板 P3377 [模板]左偏树(可并堆) - 洛谷 | 计算机科学教育新生态 (luogu.com.cn) #include<iostream> #include<cstdio> #include<algorithm> using namespace std; #define aa 100010 int n,m,vis[aa],fa[aa]; struct node{ int ls,rs,val,dis; }a[aa]; inl…
RSA算法: 有个文章关于RSA原理讲的不错: https://blog.csdn.net/dbs1215/article/details/48953589 http://www.ruanyifeng.com/blog/2013/07/rsa_algorithm_part_two.html RSA 相关名词 RSA代表的是一种算法 PKCS 代表的这种算法的一系列标准 原始算法定义: RSA的算法涉及三个参数,n.e1.e2.其中,n是两个大质数p.q的积,n的二进制表示时所占用的位数,就是所谓…
前提 javax.crypto.Cipher,翻译为密码,其实叫做密码器更加合适.Cipher是JCA(Java Cryptographic Extension,Java加密扩展)的核心,提供基于多种加解密算法的加解密功能.在不了解Cipher之前,我们在完成一些需要加解密的模块的时候总是需要到处拷贝代码,甚至有些错误的用法也被无数次拷贝,踩坑之后又要拷贝补坑的代码.为什么不尝试理解Cipher然后合理地使用呢? Cipher初始化transformation(转换模式)的一些知识补充 转换模式…
一.介绍 我们都知道,互联网是不安全的,但其上所使用的大部分应用,如Web.Email等一般都只提供明文传输方式(用https.smtps等例外).所以,当我们需要传输重要文件时,应该对当中的信息加密.非对称密码系统是其中一种常见的加密手段.而在基于PGP方式加密的中文介绍少之又少,所以萌生了写一个完整教程的想法,当然本文部分资料是我搜遍网络整理出来的,并不能保证百分之百的原创  GnuPG 是一个用来进行非对称加密(PGP)的免费软件,简称GPG(是不是有的童鞋已经被PGP和GPG给搞昏了? …
composer是一个用PHP开发的用来管理项目依赖的工具,当你在项目中声明了依赖关系后,composer可以自动帮你下载和安装这些依赖库,并实现自动加载代码. 安装composer composer的安装非常的容易 1.下载安装脚本,这里把安装脚本保存为 composer-setup.php [root@localhost composer]# php -r "copy('https://install.phpcomposer.com/installer', 'composer-setup.p…