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

电商经营者如何申请办理电商营业执照?

根据2019年1月1日执行的《中华人民共和国电子商务法》规定,电子商务网站可以作为个体工商户经常场所登记,个体经营者可以通过自建网站或电子商务平台来取得合法电子商务经营资格。常见的一些疑问和申请要求如下:一、使用“网络经营场所”登记个体户需要准备材料:1.《个体工商户注册登记申请书》,获取地址:各地政务服务网2.申请人身份证明 (自行准备)3.网络经营场所使用证明, 西部数码客户的业务可由西部数码

Public @ 2018-07-29 16:13:58

常见程序搜索关键字转码

个别搜索类的网站因为用户恶意搜索出现误拦截情况,这类网站本身没有非法信息,只是因为把搜索关键字显示在网页中(如下图),可以参考下面方法对输出的关键字进行转码image.pngDEDECMS程序本文针对Dedecms程序进行搜索转码,其它程序原理类似:对搜索结果的关键字进行转码后输出一:查看网站编码,访问后台下面会显示,GBK和UTF8两个版本image.png二:复制下面代码到 include/e

Public @ 2022-08-05 15:44:44

搜索为生态赋能-技术与机制

搜索未来方向是什么?站长平台VIP大讲堂邀请到百度搜索主任架构师谭待,为大家带来题为《搜索为生态赋能》的主题演讲,一语道尽百度搜索未来方向。首先我说一下技术这一块,体验最基础就是速度,你的速度慢,用户就会走,正是因为太基础,导致很多人忽略它的重要性。右边这个图是第三方的一个评测,随着速度的变慢,用户会离开的概率。这个数据我相信大家第一眼看觉得很夸张,包括百度我们自己很早之前做这个测试的时候,我们也

Public @ 2021-04-05 15:35:54

win2012/win2016/win2019 IIS部署SSL证书访问https(支持多站点)

请根据操作系统、站点部署数量选择以下相应参考文档,文档仅供参考,如果对技术不熟悉,建议提交工单,由我司工程师帮您配置(会有费用产生)。A、windows2008+iis7环境SSL部署https单/多站点B、linux系统SSL部署https单/多站点C、windows2003系统SSL单站点部署https部署https(ssl)后设置301跳转将http跳转到https亚数机房香港IP部署SSL

Public @ 2011-08-09 15:35:57

更多您感兴趣的搜索

0.538921s