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

教你七招,轻松挑选出一款优秀的网站空间

1. 了解自己的需求: 在选择网站空间之前,你需要先了解自己的需求,比如需要的存储空间、带宽、处理器等硬件配置,以及操作系统和数据库等软件配置,以便找到符合自身需求的网站空间。 2. 找到可靠的主机服务商: 可靠的主机服务商不仅能够提供可靠的网络环境和优质的技术支持,而且还能够提供最新的安全方案和备份措施,以确保你的网站稳定运行和安全性。 3. 选择合适的价格: 不同的网站空间服务商提供不同的

Public @ 2023-06-08 12:00:20

网站配色的实用须知

最近发现,很多用户都反馈,在做网站设计的时候对网站背景颜色的选取很难把握,不知道什么颜色才适合自己的企业网站。因此,这期就为大家分享一下网站的颜色应该如何选择。网站颜色的重要性根据研究表明,90%的快速购买决定完全是由颜色感知决定的。网页颜色搭配的是否合理会直接影响到访问者的情绪,它有助于创建想法,传达信息,调用情感和提高兴致。普通用户的注意力跨度为15秒,因此最好的方式就是让用户在你的网站上多停

Public @ 2009-07-02 15:45:21

如何正确启用HTTPS?为什么要启用HTTPS访问?

HTTPS是以安全为目标的HTTP通道,简单讲是HTTP的安全版,即HTTP下加入SSL层,HTTPS的安全基础是SSL,因此加密的详细内容就需要SSL。如何正确启用HTTPS?HTTPS访问就是使用SSL协议进行访问,需要将网站架设为SSL安全站点。1、需要从可信的证书办法机构CA获取服务器证书。2、必须在WEB服务器上安装服务器证书。3、必须在WEB服务器上启用SSL功能。4、客户端(浏览器端

Public @ 2022-12-07 15:56:10

HTTPS站点如何建设才能对百度友好

以下是一些建议: 1. 安装SSL证书,使站点支持HTTPS协议。这会使站点更加安全,受到更好的百度搜索引擎排名。 2. 确保站点的内容和链接被正确地设置为HTTPS链接,以避免任何内容或链接的HTTP和HTTPS之间的混淆。 3. 通过安装扩展名以避免站点中的重定向错误。确保所有站点修复完所有的HTTPS错误。 4. 确保所有内容(包括图像、脚本和其他资源)都可以从HTTPS站点加载。这

Public @ 2023-06-03 08:50:16

更多您感兴趣的搜索

0.533347s