关于DJANGO3.0 SESSIONID的生成与存储

关于DJANGO3.0 SESSIONID的生成与存储
关于DJANGO3.0 SESSIONID的生成与存储
关于DJANGO3.0 SESSIONID的生成与存储
关于DJANGO3.0 SESSIONID的生成与存储
session_key被设置存储于redis0号库
关于DJANGO3.0 SESSIONID的生成与存储
得道value值末尾的1734就是真正的user登录ID 所以得知django session是以字符串类型存储的 而非hash或者列表 集合 其他等等

关于生成 - from django.contrib.sessions.backends import cache
关于DJANGO3.0 SESSIONID的生成与存储
关于DJANGO3.0 SESSIONID的生成与存储
关于DJANGO3.0 SESSIONID的生成与存储
关于DJANGO3.0 SESSIONID的生成与存储
关于DJANGO3.0 SESSIONID的生成与存储
所以DJANGO的sessionkey有可能是使用的sha256算法生成的

关于DJANGO3.0 SESSIONID的生成与存储
关于DJANGO3.0 SESSIONID的生成与存储
也有可能是取32个随机字符拼接而成的
关于SystemRandom
使用提供的源的备用随机数生成器取决于操作系统(例如Unix上的/dev/urandom或Windows上的CryptGenRandom)并非在所有系统上都可用-有关详细信息,请参见os.urandom()
关于DJANGO3.0 SESSIONID的生成与存储
https://blog.****.net/u011288483/article/details/80722499
http://www.beixiongxiong.com/course/bxx_bzk_03/2155/
关于long 将数字或字符串转换为一个长整型 long(x, base=10) 默认10进制
关于DJANGO3.0 SESSIONID的生成与存储
关于DJANGO3.0 SESSIONID的生成与存储

右移动运算符:把">>"左边的运算数的各二进位全部右移若干位
随机数的生成主要依赖于_urandom 其他函数完成了数字与字符串,各进制间的计算,映射,转换
关于DJANGO3.0 SESSIONID的生成与存储
返回n个适合加密使用的随机字节 这里返回了7个:
Z \xa9 \xdb \xd8 \xe0 \xde \xa8
\xfe H \xe5 \x18 6 \x90 \xfe