JWT的引入 传统登录认证流程: 1. 用户第一次登录时, 生成一个token并返回给前台, 同时将其与用户主键一同存在后台服务器上(数据库或缓存中)2. 下一次访问需要登录的页面时, 将token一起传入3. 后台拿着token去数据库或缓存中查找是否存在该token, 存在则认证通过, 否则认证 ...
分类:
编程语言 时间:
2020-07-26 00:07:38
阅读次数:
75
Play-Book playbook的组成 play 角色(主机或者主机组) task 任务,演戏的动作 总结:playbook是有多个play组成,一个play有多个task;剧本由一个或者多个演员组成,一个演员得有多个台词或者动作。 playbook的语法格式:yaml 在Ansible中"剧本 ...
分类:
其他好文 时间:
2020-07-24 23:43:20
阅读次数:
178
本期介绍随机数在密码学中生成Salt的用法。在密码学中,Salt是指将特定(固定)字符串插入到明文固定位置,让Hash散列运算值不同于使用原始明文的散列值。HASH散列运算是公开算法,只要有相同的明文,任何人都能算出相同的摘要值。Salt的意义在于让只有掌握正确Salt数据的用户才能计算出正确的HASH散列值。在某种意义上,Salt对于HASH运算的意义,就相当于密钥对于3DES等对称算法的意义。
分类:
其他好文 时间:
2020-07-24 19:11:38
阅读次数:
71
主要代码: 1 // 盐值 2 String salt = null; 3 String password = user.getPassword(); 4 //加密密码 5 String encryptPassword = null; 6 7 salt = SaltUtil.generateSalt ...
分类:
其他好文 时间:
2020-07-24 16:30:16
阅读次数:
136
Netty是基于主从Reactor模型的 BossGroup只关系Accpet(连接的建立) 维护selector 接收到Accpet事件后 获取到对应的SocketChannel 并封装成NIOSocketChannel并注册到Worker,进行维护,当Woker监听到selector 中通道发生 ...
分类:
Web程序 时间:
2020-07-20 11:00:34
阅读次数:
70
认识 Spring Cloud Gateway Spring Cloud Gateway 是一款基于 Spring 5,Project Reactor 以及 Spring Boot 2 构建的 API 网关,是 Spring Cloud 微服务生态的主要组件之一。Spring Cloud Gatew ...
分类:
编程语言 时间:
2020-07-14 00:28:06
阅读次数:
51
反应式编程是一种可以替代命令式编程的编程范式。这种可替代性存在的原因在于反应式编程解决了命令式编程中的一些限制。理解这些限制,有助于你更好地理解反应式编程模型的优点 反应式流规范 对比 Java 中的流 Java的流和反应式流Java的流和反应式流之间有很多相似之处。首先,它们的名字中都有流(Str ...
分类:
编程语言 时间:
2020-07-13 13:42:01
阅读次数:
75
Redis服务器是一个事件驱动程序,服务器需要处理两类事件:文件事件(file event)和时间事件(time event) ##Redis事件处理流程 aeMain函数通过调用aeProcessEvents函数来进行文件事件和时间事件的调度和执行。aeEventLoop中记录了事件相关的信息。首 ...
分类:
其他好文 时间:
2020-07-12 14:43:46
阅读次数:
52
常见的IO事件处理模型有两种:Reactor和Proactor。Redis中的ae就是采用的Reactor事件处理模型,Proactor需要操作系统的支持,目前暂时还没接触到相关的使用场景,主要是学习模型结构。 ###Reactor模型 Handler:用来标识一个文件描述符 Synchronous ...
分类:
其他好文 时间:
2020-07-12 14:39:47
阅读次数:
53
一、椒盐噪声 void salt(Mat& img, int num) { if (img.data == NULL) return; srand(time(NULL)); int i, j; for (int k = 0; k < num; k++) { i = rand() % img.rows ...
分类:
其他好文 时间:
2020-07-09 12:30:12
阅读次数:
72