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

ftp连接后只出现欢迎.txt或者列表为空

ftp连接后只出现欢迎.txt或者列表为空我司虚拟主机2003系统,设置好ip地址,ftp帐号密码,点击连接后出现"欢迎.txt",而不显示主机的目录结构1.jpg原因是在设置ftp信息时,远程路径这一项填写了/ ,去掉保持为空即可1.jpg另,我司虚拟主机2008系统下,若类似设置,连接后目录也不会显示,目录列表为空!请注意ftp站点设置里面的远程路径留空不填写。来源:西部数

Public @ 2016-11-17 15:45:59

域名是否需要备案?怎样备案

域名是否需要备案?怎样备案为什么要实施网站备案?为了规范互联网信息服务活动,促进互联网信息服务健康有序发展,根据国务院令第292号《互联网信息服务管理办法》和工信部令第33号《非经营性互联网信息服务备案管理办法》规定,国家对经营性互联网信息服务实行许可制度,对非经营性互联网信息服务实行备案制度。未取得许可或者未履行备案手续的,不得从事互联网信息服务,否则就属于违法行为。工信部官方备案网站为:htt

Public @ 2010-01-11 16:00:06

HTTPS改造全过程

1. 首先,需要购买SSL证书。可通过SSL证书颁发机构(CA)或其他第三方供应商购买。在购买时,需要提供域名和服务器信息。 2. 在服务器上安装SSL证书。这通常包括将证书文件和私钥文件放置在服务器上的特定目录中。 3. 配置服务器以支持HTTPS协议。这通常涉及修改服务器配置文件,例如Apache服务器的“httpd.conf”文件或Nginx服务器的“nginx.conf”文件。 4.

Public @ 2023-07-26 02:50:46

站点切换HTTPS不会对流量产生负面影响

站点切换到HTTPS不会对流量产生负面影响,反而可能会增加网站的流量和排名。 HTTPS可以提供更加安全的连接和数据传输,让用户更加放心地浏览和使用网站。此外,搜索引擎已经将HTTPS作为了网站排名的重要因素之一,因此站点切换到HTTPS可能会提升搜索引擎排名,带来更多的有价值的流量。 但是,站点切换到HTTPS也需要注意一些问题,比如确保SSL证书的有效性、避免混合内容、更新网站地图等。因此

Public @ 2023-04-15 23:00:22

更多您感兴趣的搜索

0.466846s