天天看点

Qt之HTTPS登录简述HTTPS和HTTP的区别使用说明使用方式结果处理

https(全称:hyper text transfer protocol over secure socket layer),是以安全为目标的http通道,简单讲是http的安全版。即http下加入ssl层,https的安全基础是ssl,因此加密的详细内容需要ssl。它是一个uri scheme(抽象标识符体系),句法类同http:体系。用于安全的http数据传输。https:url表明它使用了http,但https存在不同于http的默认端口及一个加密/身份验证层(在http与tcp之间)。这个系统的最初研发由网景公司(netscape)进行,并内置于其浏览器netscape navigator中,提供了身份验证与加密通讯方法。现在它被广泛用于万维网上安全敏感的通讯,例如交易支付方面。

<a href="#%e7%ae%80%e8%bf%b0">简述</a>

<a href="#https%e5%92%8chttp%e7%9a%84%e5%8c%ba%e5%88%ab">https和http的区别</a>

<a href="#%e4%bd%bf%e7%94%a8%e8%af%b4%e6%98%8e">使用说明</a>

<a href="#md5%e5%8a%a0%e5%af%86">md5加密</a>

<a href="#https%e7%99%bb%e5%bd%95">https登录</a>

<a href="#%e4%bd%bf%e7%94%a8%e6%96%b9%e5%bc%8f">使用方式</a>

<a href="#%e7%bb%93%e6%9e%9c%e5%a4%84%e7%90%86">结果处理</a>

超文本传输协议http被用于在web浏览器和网站服务器之间传递信息。http协议以明文方式发送内容,不提供任何方式的数据加密,如果攻击者截取了web浏览器和网站服务器之间的传输报文,就可以直接读懂其中的信息,因此http协议不适合传输一些敏感信息,比如信用卡号、密码等。

为了解决http协议的这一缺陷,需要使用另一种协议:安全套接字层超文本传输协议https。为了数据传输的安全,https在http的基础上加入了ssl协议,ssl依靠证书来验证服务器的身份,并为浏览器和服务器之间的通信加密。

https和http的区别主要为以下四点:

https协议需要到ca申请证书,一般免费证书很少,需要交费。

http是超文本传输协议,信息是明文传输,https 则是具有安全性的ssl加密传输协议。

http和https使用的是完全不同的连接方式,用的端口也不一样,前者是80,后者是443。

http的连接很简单,是无状态的;https协议是由ssl+http协议构建的可进行加密传输、身份认证的网络协议,比http协议安全。

关于网络接口的调用这里不再过多说明,因为一般接口都会有详细的文档,比如:请求方式get/post、参数格式、返回类型等。

下面以https为例,描述一个完整的登录过程,也适用于http及其它形式网络交互,比如:用户认证、上传、下载等。

为了安全起见,都会对敏感数据进行加密,而最常用的基本都是md5。

进行ssl认证、设置传输的参数、设置消息头、开始请求、处理返回结果。

一般来说常用的返回格式为json、xml,当然也可以用特定格式的字符串,但大多数都是json较多。

得到结果后,我们就可以对返回的json进行解析,然后处理!

正确:

“{“user_id”:”self-666666666_qt-mr2sj_9iu92fwd-pqalbtwl6zgtafa”,”role”:1,”sex”:0,”user_name”:”test”,”create_date”:1449449966000}”

错误:

{“msg”:”user_name=test and password is error.”,”code”:418,”error_msg”:”password is invalid”}