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

宝塔面板部署启用ssl证书(网站启用https)

宝塔面板支持使用 Let's Encrypt 免费 SSL 证书。下面是具体操作步骤: 1. 登录宝塔面板,选择需要启用 SSL 的网站,在右侧操作栏中选择 SSL。 2. 在 SSL 界面中,选择 Let's Encrypt 选项卡。 3. 选择需要申请证书的域名,勾选自动续期,点击申请按钮。 4. 等待证书申请完成后,回到 SSL 界面,找到对应的域名,在右侧操作栏中选择 部署。 5

Public @ 2023-06-18 03:00:20

Win2003+IIS6.0下安装SSL证书

1. 首先购买SSL证书,并且获取到证书文件和私钥文件。 2. 打开IIS管理器,在左侧的树形目录中选择服务器名称,再在右侧的窗口中找到“服务器证书”图标,双击打开。 3. 在“服务器证书”窗口中,选择“导入…”,依照向导操作,将刚刚购买的SSL证书文件和私钥文件导入。 4. 在“网站”目录中,选择需要使用SSL证书的网站,右键单击,选择“属性”。 5. 在网站属性窗口的“目录安全性”标签

Public @ 2023-05-29 03:00:12

HTTP和HTTPS有什么区别? 什么是SSL证书?使用ssl证书优势?

什么是SSL?SSL是指安全套接层协议(以及传输层协议TLS),位于TCP/IP协议与各种应用层协议之间,为数据通讯提供安全支持,是目前使用最广泛的安全协议。它为互联网或内部网络连接,进行操作的两台机器之间提供安全信息通道,即HTTPS。1.1 数据传输期间,对信息进行加密1.2通过唯一的SSL凭据识别证书所有者身份。1.3先验证证书所有者身份,再颁发SSL证书图片.pngHTTP和HTTPS有什

Public @ 2015-03-07 15:35:55

百度对HTTPS站点的扶持态度

百度对HTTPS站点一直以来都非常积极,推崇HTTPS是一种更安全、更可靠的协议,也符合当前互联网安全的要求。以下是百度对HTTPS站点的扶持态度: 1.安全加速 百度采用HTTPS协议可以充分加密用户数据,在传输过程中避免被中间人篡改。同时百度的CDN支持HTTPS加速,可以为网站提供更快的访问速度,并且加强了站点在网络上的安全性。 2.搜索排名加分 百度搜索对HTTPS站点进行了加分,

Public @ 2023-05-30 06:50:15

更多您感兴趣的搜索

0.480983s