引言 最近LZ在公司里接了一个活,要发布一些服务给公司的合作伙伴调用.这种工作LZ可谓是轻车熟路,之前已经做了无数服务端.不过与以往不同的是,这次的服务是要发布在互联网上的,因此不能再像之前的套路一样.之前的系统交互都是公司内网之间的,因此不存在数据安全问题. 这次不得不考虑数据的安全性,因此LZ最近就苦逼的开始研究各种加密算法.前后一共用了三天时间,LZ终于把加密层做好了,尽管LZ对各种加密算法的原理一概不知,但应该也算够用了.毕竟LZ没打算做一个绝对安全的系统(事实上这也是不可能的),只要能…
写下此博客记录心得体会,如有不足之处请指正   先是手稿笔记 :  正文:   在Https协议中,Client端和Server端需要三个参数才能生成SessionKey来加密信息. 三个参数分别是 Client Random(客户端随机数) 假设是CServer Random(服务端随机数) 假设是SPreMaster Random(待加密随机数) 假设是P   前两个都是通过明文的方式传输,即C从客户端以明文的方式发送给服务端,S从服务端以明文的发送发送给客户端   而P则是最重要,也是最关…
RSA加密算法是目前最有影响力的公钥加密算法,它能够抵抗到目前为止已知的绝大多数密码攻击. 那关于RSA加密算法有哪些应用呢?以下举一个数据库身份验证的案例. 在使用数据集进行身份认证时,密码存在数据库中,认证时用户输入的密码与数据库中密码相同则认证通过,若数据库被破解了则对系统造成威胁,怎样保证系统安全呢?这里就可以应用RSA加密算法,对权限加密. 思路: 就是在url中传用户名密码时,先把用户名进行翻转,然后再进行加密,如输入的密码为12,实际后台进行加密的值为21,再与数据库进行验证,这样…
C#有自动回收内存的机制,但是有时自动回收有一定滞后,需要在变量使用后迅速回收,节约内存,这里介绍一个最简单的方法. 1.先对对象赋值 null; 2.System.GC.Collect(); 代码样例: 1 class Program 2 { 3 static void Main(string[] args) 4 { 5 long lenth = 1024 * 1024 * 128; 6 7 GetCost("程序启动"); 8 9 double[] data = new doubl…
反向代理是一个服务器,它接收通过Web发出的请求,即http和https,然后将它们发送到后端服务器(或服务器).后端服务器可以是单个或一组应用服务器,如Tomcat,wildfly或Jenkins等,或者甚至可以是其他Web服务器,如Apache等. 我们已经讨论过如何使用Nginx配置简单的http反向代理.在本教程中,我们将讨论如何使用SSL配置Nginx反向代理.因此,让我们从使用SSL配置Nginx反向代理的过程开始 先决条件 后端服务器:为了本教程的目的,我们使用在端口8080的lo…
本实验使用了mnist.npz数据集,可以使用在线方式导入,但是我在下载过程中老是因为网络原因被打断,因此使用离线方式导入,离线包已传至github方便大家下载: https://github.com/guangfuhao/Deeplearning/blob/master/mnist.npz (mnist.npz下载) 下面是全部代码: #1.Import the neccessary libraries needed import numpy as np import tensorflow a…
RSA是一种非对称加密算法,在公开密钥和电子商业中RSA被广泛使用.它是基于一个很简单的数论事实,两个素数相乘很容易,对两素数乘积因式分解很困难.原理就不再阐述了,我谈谈算法的编程实现过程. 一.RSA加密和解密过程是基于以下形式,其中明文为M,密文为C,公匙PU={e, n},密匙PR={d, n}. 1.准备工作,选择两个大素数p和q,计算p和q的乘积n,计算p-1和q-1的乘积,选择一个与p-1和q-1乘积互质的数e,计算出d 2.加密过程 3.解密过程 程序没有生成大素数,只是列出100…
原理: 登录:后端controller层获取到客户的密码,通过下面代码:new Sha256Hash(pwd).toHex();将密码转换成md5散列,生成一个新的字符串与数据库的值进行比对,根据不同结果返回不同的值 注册:原理一样,将值拿到后通过md5加密后,生成新的字符串然后保存至数据库中…
node.js的crypto在0.8版本,这个模块的主要功能是加密解密. node利用 OpenSSL库(https://www.openssl.org/source/)来实现它的加密技术, 这是因为OpenSSL已经是一个广泛被采用的加密算法.它包括了类似MD5 or SHA-1 算法,这些算法你可以利用在你的应用中. 作为工程师,对于openssl一个开源的软件库,你没有用过,你应该听过这个名字.openssl是使用C/C++实现算法的. Nodejs用C/C++实现这些算法后,通过cypt…
SSL(SecureSocketLayer)是netscape公司提出的主要用于web的安全通信标准,.TLS(TransportLayerSecurity)是IETF的TLS工作组在SSL3.0基础之上提出的安全通信标准,SSL/TLS提供的安全机制可以保证应用层数据在互联网络传输不被监听,伪造和窜改. 在介绍 SSL/TLS 知识的之前,我们有必要了解下加密算法的知识: 1.什么是加密算法 加密算法很容易理解,就是把明文变成人家看不懂的东西,然后送给自己想要的送到的地方,接收方用配套的解密算…