2024年Web前端最全跨平台应用开发进阶(三十二) :AK SK鉴权原理简介_aksk鉴权,腾讯前端面试题社招

最后

今天的文章可谓是积蓄了我这几年来的应聘和面试经历总结出来的经验,干货满满呀!如果你能够一直坚持看到这儿,那么首先我还是十分佩服你的毅力的。不过光是看完而不去付出行动,或者直接进入你的收藏夹里吃灰,那么我写这篇文章就没多大意义了。所以看完之后,还是多多行动起来吧!

可以非常负责地说,如果你能够坚持把我上面列举的内容都一个不拉地看完并且全部消化为自己的知识的话,那么你就至少已经达到了中级开发工程师以上的水平,进入大厂技术这块是基本没有什么问题的了。

开源分享:【大厂前端面试题解析+核心总结学习笔记+真实项目实战+最新讲解视频】

三、流程

  1. 判断⽤户请求中是否包含Authorization认证字符串。如果包含认证字符串,则执⾏下⼀步操作。
  2. 基于HTTP请求信息,使⽤相同的算法,⽣成Signature字符串。
  3. 使⽤服务器⽣成的Signature字符串与⽤户提供的字符串进⾏⽐对,如果内容不⼀致,则认为认证失败,拒绝该请求;如果内容⼀致,则表⽰认证成功,系统将按照⽤户的请求内容进⾏操作。

客户端

1. 构建http请求(包含 access key);

2. 使⽤请求内容和使⽤secret access key计算的签名(signature);

3. 发送请求到服务端。

服务端

1. 根据发送的access key 查找数据库得到对应的secret-key;

2. 使⽤同样的算法将请求内容和 secret-key ⼀起计算签名(signature),与客户端步骤2相同;

3. 对⽐⽤户发送的签名和服务端计算的签名,两者相同则认证通过,否则失败。

四、应用示例

设计ak/sk的请求参数

  • platform_type:标明请求方是谁,即该例子中的ak
  • time:请求时间,时间戳,将会被对应的sk配合加密算法进行加密,得到一个signature签名。
  • sign:签名,使用sk配合对应的加密算法后进行加密得到的签名。

当发送请求时,请求端会带上这几个参数去请求接口,如请求

https:///xxx.com/students?platform\_type=school&time=1640494526&sign=54acba6857b284a8a481ed5913edd34d994721cc584305ff02c81bb3ced17212

在这里插入图片描述

五、拓展阅读

最后

开源分享:【大厂前端面试题解析+核心总结学习笔记+真实项目实战+最新讲解视频】

给大家分享一些关于HTML的面试题。


图片转存中…(img-stWaX3nb-1714850363614)]
[外链图片转存中…(img-w9bQmkyd-1714850363615)]

  • 4
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
海康威视的aksk是用于API鉴权的,用于保证API请求的安全性。具体的认证流程如下: 1. 在海康威视开发者平台注册账号,创建应用并获取对应的aksk。 2. 构造请求,将ak和请求参数组合成一个字符串,然后使用sk对该字符串进行HMAC-SHA256加密,得到一个签名字符串。 3. 将签名字符串添加到请求头中,请求海康威视API。 4. 服务器接收到请求后,会从请求头中获取签名字符串和ak,然后使用该ak在后台获取对应的sk,并且使用该sk对请求参数进行HMAC-SHA256加密,得到一个签名字符串。 5. 服务器将该签名字符串和请求头中的签名字符串进行比对,如果一致,则认为请求合法,返回API响应结果;否则认为请求不合法,返回错误响应。 需要注意的是,aksk是非常重要的信息,开发者应该妥善保管,避免泄露。在Python中,可以使用hmac库实现海康威视aksk的HMAC-SHA256摘要认证。具体的代码如下: ```python import hmac import hashlib ak = "your ak" # 填写你的ak sk = "your sk" # 填写你的sk params = "your params" # 填写你的请求参数,注意需要按照字典序排序并且进行urlencode编码 message = ak + params digest = hmac.new(sk.encode(), message.encode(), hashlib.sha256).hexdigest().upper() # 将digest添加到请求头中,然后发起API请求即可 ``` 其中,aksk是你在海康威视开发者平台获取的认证信息,params是你的请求参数。需要注意的是,params需要按照字典序排序,并且进行urlencode编码,否则认证会失败。最后将digest添加到请求头中,然后发起API请求即可。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值