Token原理及应用(Android,iOS)

误区

网上讨论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方式一定记得至少要对称加密再传输数据。
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,269评论 19 139
  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 174,634评论 25 709
  • 每逢换季,皮肤总是变得特别“敏感”。化妆水,精华液,乳液,面霜……当这些“老朋友”都没办法解救换季敏感皮的时候,救...
    是小徐呀阅读 374评论 0 0
  • 丁俊逸脸色瞬间难看,阴沉着一脚把我的手掌踩住,青哥拿了一瓶啤酒过来给他,他冷冷地把啤酒倒在我的头上。 “你他妈叼,...
    浮生万梦星耀烛天阅读 464评论 0 1
  • 对于加班这件事,多数年轻人认为是件很苦逼的事。加班自然很辛苦,这会让你失去很多娱乐休闲的时间。但如果你想在能力上超...
    祖祖jojo阅读 366评论 0 0