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、 新注册5天内需要进行实名认证的后缀有.top/.com/.net/.cn/.xyz/.vip/.wang/.club,否则域名会被锁定或者禁止解析,该规定已经在实施中;2、 当上述后缀的域名发生过户和转移时,也要落实

Public @ 2009-10-31 15:45:25

CMS模板开发应该注意什么?

1.明确页面的分类和结构:在CMS模板开发时,一定要先搞清楚页面的结构和分类,这是模板开发的第一步,它能帮助我们设计出有条理及完整的模板; 2.把握好可定制性:CMS模板开发要尽可能考虑用户对模板的定制要求,使得CMS模板更加灵活丰富多彩,并且可以满足用户不同的审美和使用喜好,还要保障模板的可调整性; 3.统一样式:要在整个模板的开发过程中保持统一的样式,确保用户在浏览各个页面时体验不受影

Public @ 2023-03-02 00:48:28

Chrome下强制http重定向到https的方法

使用Google的https搜索的时候,我们会发现搜索结果虽然可以显示,但是有时候结果的链接却无法打开。这里的原因是因为Google的https的搜索结果链接往往使用的是http的方式打开,因此有时候会无法访问,本文将介绍在Chrome下解决这个问题的方法。如果你使用的是Chrome浏览器,只需要经过一些简单的设置,就可以强制Google的https搜索结果链接也使用https的方式打开。打开Ch

Public @ 2021-10-09 15:55:59

搭建HTTPS网站准备工作有哪些?

搭建HTTPS网站准备工作有哪些?一、证书的申请1、CSR文件申请SSL证书需要先制作CSR文件,CSR包含了你服务器信息和单位信息,需要提供给CA认证中心,确保网站的合法性,再生成CSR文件同时生成私钥文件。2、CA认证证书申请CSR提交给CA有2种认证方式:① 域名认证:对管理员邮箱进行认证,这种认证方法效率比较快,但不好的是签发的证书是不包含企业的名称。② 企业的认证:需要提供企业的营业执照

Public @ 2010-05-11 15:56:08

更多您感兴趣的搜索

0.498244s