千家信息网

开发平台加解密及鉴权原理的示例分析

发表于:2026-11-04 作者:千家信息网编辑
千家信息网最后更新 2026年11月04日,本篇文章为大家展示了开发平台加解密及鉴权原理的示例分析,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。一个网站要保证安全,加密、防篡改、身份识别等是起码的要求。
千家信息网最后更新 2026年11月04日开发平台加解密及鉴权原理的示例分析

本篇文章为大家展示了开发平台加解密及鉴权原理的示例分析,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。

一个网站要保证安全,加密、防篡改、身份识别等是起码的要求。

有几个问题:

  1. https 为什么公网一定要用https ?

  2. https 什么原理?

  3. https 为什么要用对称加密+非对称加密?

  4. https 会让请求变慢吗?

  5. 为什么不能只用非对称加密?

  6. 为什么需要数字证书?

  7. 有了https ,能做到加密,防篡改,身份识别吗?

  8. 怎么做鉴权? …

首先, 为什么要用https,纯http,用tcpdump,wirehsark 等软件抓包,根据http 协议规范,可以很简单看清每个数据包,也可以很轻松的篡改数据,动态型网站这是非常危险的。因此对传输数据加密是非常有必要的,于是有了https。

https 什么原理?

结论是对称加密远快于非对称加密,而非对称加密非常慢。那https 如果采用纯非对称加密,如果包太大,就难以接受了。那https 能不能利用非对称加密的安全性,用利用对称加密的速度?这是可以的, https 的原理到底是怎样呢?参考图:


    1. 服务端非对称加密的公钥A、私钥A'。


    1. 客户端发起请求,服务端返回公钥A明文给传客户端。


    1. 客户端随机生成一个用于对称加密的密钥X,用公钥A加密后传给服务端。


    1. 服务端拿到后用私钥A'解密得到密钥X,保存后将sessionId 返回客户端。


    1. 这样双方就都拥有密钥X了,且别人无法知道它。之后双方所有数据都用密钥X加密解密。

理解了https 的原理可以知道,并不是每个body 都在用非对称加密算法加解密,而是用的对称加密算法在加密解密(部分浏览器会存在一个文件中,可以用于抓包),然后对称加密解密很快,速度比纯http 慢一点,但是并不会慢多少。

为什么要有数字证书?

服务端给客户端给公钥,并不是直接给公钥,而是给的证书,这是为什么?因为公钥可能被中间人篡改,所以为了公钥可信,证书会有公钥和私钥对公钥hash加密后一个数字签名,服务端拿着公钥对数字签名解密,如果和公钥hash 对的上,就说明公钥可靠。

如何鉴权?

https 能身份识别吗?其实只能做到单向识别,想鉴权,其实不够,我们还需要其他方式。常见的鉴权方式有哪些?

类md5鉴权

客户端和服务端使用同样的签名方式,服务器对请求算的结果和客户端传递的值进行对比,就可以鉴权。这里access key 用作识别用户,secret key 是盐,也可以理解成密码。这里很多开放云平台都是采用类似的加密算法,比如腾讯云采用的TC3-HMAC-SHA256 签名方法

最简单的验签方式是使用md5做单向加密:md5(msg),但是这种粗暴的加密方式的缺点就是可以暴力破解。然后升级的做法就是加盐,原理如下:

import hmacmessage = 'messege' #和url,时间戳等固定参数有关key = 'sdfsdfwfahesdfsdfsdfgwgdfgd' # 随机字符串h = hmac.new(key, message, digestmod='MD5')sign = h.hexdigest()

客户端和服务器约定使用相同的随机字符串作为salt ,这样,sign传递到server 后,server 使用相同的算法对提取的参数做相同运算,即可获得sign, 作为对比即可知道是否鉴权通过。我们常用的secret key 一般就是salt 。我们能对接口鉴权了后,有个问题,当不同客户有不同权限时,server 怎么识别不同的客户?这里access key 就起作用了,server 维护个字典,每个access key 对应一个 secret key , 就可以区分开客户。

server 原理类似:

dict = {    access_key1 : secrect_key1,    access_key2 : secrect_key2} #按客户维度维护的字典,和session的性质类似import hmacaccess_key = req.header.get(access_key)key = dict[access_key]message = req.body.get(msg)h = hmac.new(key, message, digestmod='MD5') #为增加复杂度,这里,会对message 混杂时间戳,uri等固定参数sign = h.hexdigest()if sign == req.header.get('sign'):    return trueelse:    return false
rsa鉴权

还有可以利用rsa 进行签名,用对方公钥加密,传给对方,对方用自己的公钥加密,自己用自己的私钥对对方传来数据进行解密。这种方式在body 很大的时候有缺点,因为非对称加解密会很慢,优点是相对安全,据了解,有部分大厂会使用这种方式。

其实,是不是可以借鉴https ,用一种非对称+对称加密的方式鉴权。目前用第一种类md5 方式更多。

上述内容就是开发平台加解密及鉴权原理的示例分析,你们学到知识或技能了吗?如果还想学到更多技能或者丰富自己的知识储备,欢迎关注行业资讯频道。

加密 对称 公钥 客户 方式 服务 原理 客户端 数据 密钥 对方 就是 数字 算法 证书 平台 不同 相同 安全 加密解密 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 互联网科技公司税收优惠 科技互联网公司装修 科技制造互联网公司 互联网 的科技创新 紫鲸互联网科技 互联网科技论文 互联网金融科技创新 左右互联网络科技 深圳卡尔迅互联网科技有限公司怎么样 互联网公司会议桌创意科技软装饰 互联网科技项目计划书材料类 阿大互联网科技有限公司 辽宁互联网新科技 天津腾达互联网科技有限公司 广州新华互联网科技学校电竞方面 工业互联网展湾科技股份有限公司 普陀区互联网教育科技管理办法 互联网高科技行业有哪些企业 互联网领先科技成果宣传视频 互联网科技企业文化 华服互联网科技靠谱吗 互联网科技公司简介 科技和互联网公司 互联网科技卖菜 科技互联网创业计划书 互联网科技公司的市场部门 知域互联网科技有限公司大骗子 徐州市互联网科技有限公司 中和天地互联网科技有限公司 福州德业互联网科技
0