Token原理及应用(Android,iOS)

作者: 热血沸腾 | 来源:发表于2017-11-17 13:00 被阅读569次

    误区

    网上讨论token的生成原理和作用没错。
    但是很多开发人员存在一个误区,“”token是为了安全,或者数据安全等“
    这是严重的误区,token和安全没有关系好吧。下面有讲
    

    原理

    用户第一次登录,服务器通过数据库校验其UserId和Password合法,则再根据
    随机数字+userid+当前时间戳 再经过DES加密生成一个token串
    

    作用

    请求参数中带token
    1.用户在调用需要登录操作的接口时,无需传递userid和password即可完成操作(因为token代表登录成功)
    2.服务器控制过期时间,假如一个极端情况,服务器端的token规则泄露,则可以控制用户可以重新登录,获取新的token
    

    数据库服务器得到改善

    我们知道服务器一般性能瓶颈多在于数据库服务器,一般采用读写分离,token也是其中的一种方式。减少了不断通过校验userid和password。
    因为token放在另外一台Redis(NoSQl中的键值对数据库,主要在内存也可以在磁盘,功能强大)服务器上,这样就减少了主数据库服务器压力
    

    客户端

    通俗的讲,如果你的token被截获,那么相当于你完全被盗了,相当于对方登录了你的账号,可以做任何需要用户登录的操作。比如支付,修改个人资料,删除好友等等爆炸操作。所以一定要保证其安全性。
    上面说到了误区,token的作用就是避免用户来回传userid和passwod然后服务器查询主数据库服务器。
    

    安全性

    token如此重要如何保证安全
    服务器端:不多说了,代码安全。
    客户端: 1. 本地存储  token对称加密(因为Android一般存在SharedPreference里)
                    2.Apk加固 防止被反编译,动态调试等等
                    3.传输安全采用https方式,且最好双向验证,如果没有你还不想被别人抓到看到原始数据,那就至少要做一下对称加密。如果你是Http方式一定记得至少要对称加密再传输数据。
    

    相关文章

      网友评论

        本文标题:Token原理及应用(Android,iOS)

        本文链接:https://www.haomeiwen.com/subject/cdxjvxtx.html