V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
azev
V2EX  ›  问与答

这样做 api 接口的 token 验证能行吗?

  •  
  •   azev · 2018-09-06 09:43:52 +08:00 · 2295 次点击
    这是一个创建于 2307 天前的主题,其中的信息可能已经有所发展或是发生改变。
    看了一些 api 接口的安全设计
    基本都是有 appid 和 appsecret
    但是如果是只有 appid 的设计会有什么缺陷吗?

    就是请求的时候不明文传 appid 参数
    而是把 appid 和时间戳进行 md5 加密 然后传到服务器

    这样相比 appid+appsecret 的设计有没有什么缺陷
    第 1 条附言  ·  2018-09-06 10:15:18 +08:00
    写错了 不是 md5 加密 而是可逆加密
    还有这个接口的客户端是服务器应用
    lizhenda
        1
    lizhenda  
       2018-09-06 09:59:27 +08:00
    appsecret 一般放在服务端和第三方服务通信,appid 才给客户端用的。所以 appsecret 很难说泄露
    raptium
        2
    raptium  
       2018-09-06 10:03:12 +08:00
    这样服务器怎么知道你是谁,如果把所有分配出去的 appid 都尝试验证一遍,那么分配的 appid 越多,误通过验证的可能性就越大
    qiayue
        3
    qiayue  
       2018-09-06 10:06:38 +08:00
    如 2 楼所说,怎么表明身份,怎么证明你是谁
    azev
        4
    azev  
    OP
       2018-09-06 10:13:55 +08:00
    @raptium
    我想一下 貌似是有点错误
    写成 md5 加密了 应该是可逆加密
    raptium
        5
    raptium  
       2018-09-06 11:46:01 +08:00
    @azev 加密的话,是不是所有的调用方都用同样的 key 加密?
    如果不是同样的,那么服务器怎么知道应该用哪个 key 解密?
    如果是同样的,那么这个 key 扩散的范围也会因为调用方变多而原来越大,最后变成公开的秘密……
    Marmot
        6
    Marmot  
       2018-09-06 11:52:49 +08:00
    appsecret 相当于只有你我知道的的暗号
    appid 相当于是谁发过来的消息
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1187 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 24ms · UTC 23:28 · PVG 07:28 · LAX 15:28 · JFK 18:28
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.