Categories


Tags


HTTP使用RSA公钥加密算法加密明文

网站想要加密传输数据以防被窃取,最可靠的方式莫过于使用公钥加密算法加密,使用HTTPS协议的网站在整个传输过程中都使用了这个技术,对于未能使用HTTPS的HTTP网站我们也可以自行实现。

功能说明

由于HTTP是直接传输明文数据的,在网络安全越发严峻的今天,未经加密的HTTP方式已经变得岌岌可危,谷歌公司更是直接表明在搜索结果中会优先考虑使用HTTPS加密的网站。

尽管整体趋势是向HTTPS倾斜的,但是由于诸多服务器以及CDN等服务商还没全面兼容HTTPS协议,目前要实现整站切换至HTTPS协议可行性还不高。

同时安全形势又刻不容缓,对此,我们可以自行实现RSA加密私密信息。

算法说明

由于多梦数学不是很好,RSA公钥加密算法的具体实现多梦就不多说了,对算法的实现有兴趣的童鞋可以去看看阮一峰的“RSA算法原理”,下面多梦就说说RSA算法的效果。

RSA算法是非对称加密算法的一种,也叫公钥加密。

和对称加密算法不同的是,对称加密算法是加密和解密都使用同一把钥匙同一种规则,也就是如果你知道怎么加密的,你就知道怎么解密了。所以算法和密钥不能泄露,否则加密就无意义了。

而公钥加密算法则是同时拥有两把钥匙,一个叫公钥,一个叫私钥。这两个钥匙是对应的,使用公钥加密的内容只有使用私钥才能解密,使用私钥加密的内容只有使用公钥才能解密。所以算法和公钥都是可以公开的,只要私钥还是私密的,就是安全的。

实现思路

由于我们是加密HTTP要发送的数据,所以加密过程是要在客户端浏览器完成的,算法和密钥都需要在发送HTTP数据之前就已经存在浏览器中,此时使用对称加密算法已经无意义,因为别人根据你这个加密可以直接解密。

所以我们需要选择非对称性加密,在网页中引入算法和公钥加密,然后发送HTTP数据到服务器,服务器再根据私钥解密。因为私钥是私密的,所以算法和公钥公开也是无法解密,也是安全的。

具体到HTTP请求的加密实现,就是在网页提交表单数据之前使用JavaScript实现公钥加密数据,然后服务器接受到加密数据后,使用PHP或其他服务器语言进行私钥解密。

扩展阅读

使用JavaScript实现OpenSSL RSA加密和解密:https://github.com/travist/jsencrypt

使用PHP实现OpenSSL RSA加密和解密:http://php.net/manual/zh/ref.openssl.php

来源:投稿,原文链接。

来源:月光博客


Public @ 2017-11-18 15:56:00

学习制作网站需要了解的知识

制作一个网站很简单,了解一些常用的代码、软件和CMS就可以制作出一个比较专业的网站,设计一个网站却不是那么容易的事了。下面讲了一下我所制作网站所学习过的知识。1:html、javascript代码:是所有建设网站的基础,这个学习起来并不难,懂得其中的代码是什么意思就可以了。2:DREAMWEAVER:主要用于制作页面,代码,并用它来修改、制作模板。3:FLASH:主要用于制作网站的动画,使网页更加

Public @ 2022-05-06 16:17:20

什么是CMS模板?CMS模板开发需要注意的事项

现在很多营销型网站都是通过CMS系统制作的,这个系统给技术人员带来了方便,在SEO优化工作中也轻松很多。什么是CMS模板?CMS模板是以CMS为程序架构,事先设计好的网站模板,在模板上进行修改,通过CMS后台更换网站内容和图片。整个网站的风格基本没有做太大的修改。制作完成后把整套的网站程序部署在服务器上,使用自己的网站域名。CMS模板开发需要注意的事项:1、CSS样式、JavaScript代码外置

Public @ 2017-09-01 15:44:49

HTTPS改造的必要性

网站安全问题其实是触目惊心的,主要表现在以下方面:1、首页会被篡改,非法跳转;2、网站被灌入广告,但收入不归自己网站所有。HTTPS是公认可有效的防止网站被黑被篡改的认证协议。HTTPS的优点:安全性方面:在目前的技术背景下,HTTPS是现行架构下最安全的解决方案:1、使用HTTPS协议可认证用户和服务器,确保数据发送到正确的客户机和服务器;2、HTTPS协议是由SSL+HTTP协议构建的可进行加

Public @ 2022-11-23 15:35:48

什么是RPC协议?RPC协议与HTTP协议的区别

什么是RPC协议?RPC是一种远程过程调用的协议,使用这种协议向另一台计算机上的程序请求服务,不需要了解底层网络技术的协议。在 RPC 中,发出请求的程序是客户程序,而提供服务的程序是服务器。HTTP是一种超文本传输协议。是WWW浏览器和WWW服务器之间的应用层通讯协议。RPC协议与HTTP协议的区别1、RPC是一种API,HTTP是一种无状态的网络协议。RPC可以基于HTTP协议实现,也可以直接

Public @ 2022-10-23 15:56:09

更多您感兴趣的搜索

0.510941s