JWT是什么

1.用户状态认证: 传统的登录状态保存,一般是使用session,用户登录之后,给用户自动生成一个sessionId,保存在服务端,sessionId同时会返回至客户端,每次的http请求,cookie会携带者sessionId访问服务器,然后和服务器的sessionId进行对比,相同则认为保持登录状态。 但是,随着业务的发展,这个sessionId的使用有一定的局限性,比如用户量很大的情况,每个用户分配一个session,会占用很大的内存。另外,服务器在分布式的部署情况下,session的同步同样是个头疼的问题。 JWT的出现,转换了用户信息验证实现的思路。简单的讲,就是每次用户登录之后,服务端将用户的部分信息加密,生成一个token字符串,并且设置过期时间,然后将这个token返回至客户端进行保存,客户端每次携带token进行http请求,完成验证。

和“概率学”有关的一个骗局

这是我很早前就听说过的一个骗局,里面用到了非常基础的概率学知识。

AndroidQ(10)文件适配

1.文件存储方式 Android开发中,简单的概括 有四种方式存储数据和文件:内部存储、外部存储、SharedPreferences 和数据库 内部存储: /data/user/0/包名/ 目录。 内部存储用来存储应用的私有文件,且通常是应用的功能相关的必要文件,其他应用(包括非root的用户自己)无权直接访问该文件夹,为程序私有。 一般使用getFilesDir() 或 getCacheDir() 方法获取本应用的内部储存路径,读写该路径下的文件不需要申请储存空间读写权限,且卸载应用时会自动删除。 外部储存: /storage 或 /mnt 目录,/storage/Android/data//files 由于系统版本和各个手机厂商的区别,外部储存的路径有些诧异。 外部存储用来存储与app有关的不那么重要的文件,比如一些缓存,图片,文件等。 一般使用getExternalStorageDirectory()方法获取的路径来存取文件。

浅谈https的传输

一、概述 其实也并非仅仅是https的传输,任何信息的传输,都有各式各样的加密,但是原理上大同小异,基本上都是包含了加密-解密-验证三个步骤。 常见的加密方式有: 对称密钥加密,也称为共享密钥加密; 非对称加密,也称为公开密钥加密

var、let、const

ES6 之前是没有块级作用域的概念的,块作用域有 { } 包括,if语句和 for语句里面的{ }也属于块作用域。