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

[原创]shopex清理数据库挂马

最后很多用户反映shopex网站被挂马,现象:网页打开完全后会自动跳转到木马网站,检查是数据库中sdb_settings表中的system字段中含有木马,注意:不能直接在数据库中修改此字段的值,清理方法如下:本地下载安装firefox浏览器(其它浏览器测试不能打开后台编辑器)登录网站后台-页面管理-网页底部信息(如截图)123.jpg点击内容编辑框,将底部信息有用部分/您自己设置部分复制出来,然后

Public @ 2021-01-05 15:37:42

域名如何进行CNAME解析

CNAME解析是将一个域名指向另一个域名的解析过程。CNAME记录是DNS中的一种资源记录,它将一个域名映射到另一个域名。 要进行CNAME解析,您需要访问您的域名注册商或DNS服务提供商的管理界面。以下是一些常见的步骤: 1. 登录到您的注册商或DNS服务提供商的管理界面。 2. 寻找域名解析或DNS解析的选项。 3. 在解析管理界面上,找到您想要添加CNAME记录的域名。 4. 添加一个C

Public @ 2023-07-22 10:50:32

百度Spider工程师给HTTPS站点的技术建议

5月25日,百度站长平台发出《百度开放收录HTTPS站点公告》,表示“全面支持HTTPS页面直接收录;另外从相关性的角度,百度搜索引擎认为权值相同的站点,采用HTTPS协议的页面更加安全,排名上会优先对待。”包括今天在与工程师的沟通会上,我们得知链接提交工具的Sitemap工具已也支持站长提交HTTPS数据。那么针对HTTPS,大家肯定还有一些疑问,于是我们专门请教了处理HTTPS数据的工程师:1

Public @ 2016-11-06 15:35:52

部署https(ssl)后设置301跳转将http跳转到https

注意,以下教程针对我司虚拟主机或者亚数的云主机香港IP部署SSL后的301跳转(非亚数机房需要注意规则中行替换),把规则中域名替换成自己的域名。wordpress程序请参考:https://www.west.cn/faq/list.asp?unid=2068根据自己使用环境点击查看对应规则:1、云主机(apache)2、虚拟主机linux系统3、云主机(nginx)4、弹性云windows系统(i

Public @ 2016-07-13 15:55:55

更多您感兴趣的搜索

0.622132s