草庐IT

Java应用服务系统安全性,签名和验签浅析

1前言随着互联网的普及,分布式服务部署越来越流行,服务之间通信的安全性也是越来越值得关注。这里,笔者把应用与服务之间通信时,进行的的安全性相关,加签与验签,进行了一个简单的记录。2安全性痛点网关服务接口,暴漏在公网,被非法调用?增加了token安全验证,被抓包等其他手段拦截了token,token验证无效?参数被非法获取,非法调用系统应用的接口?接口参数被非法获取后,同一个接口被重复多次非法调用?3技术选型3.1对称加密与非对称加密对比对称加密优点:加密速度快缺点:密钥管理分配困难,安全性较低非对称加密优点:安全性较高缺点:加密速度慢对称加密技术加密和解密使用的都是同一个密钥,因此密钥的管理非

浅析switch和if(开发中这两者的优缺点;分析出优缺点在使用就能更确定自己需要使用哪个函数了)

分析Switch相较于if的优点 1、switch执行效率 高于 if的执行效率  分析:    switch是在编译阶段将子函数的地址和判断条件绑定了,只要直接将a的直接映射到子函数地址去执行就可以了,    if处理起来首先要把a的值放到CPU的寄存器中,然后要把比较的值放到CPU的另一个寄存器中,然后做减法,然后根据计算结果跳转到子函数去执行,这样一来就要多出3步的操作了,如果逻辑判断多的话,那么将会比switch多处许多倍的操作,尽管寄存器操作的速度很快,但是效率方面还是不如switch; 2、代码清晰简单易读;  如下例子很清晰看到什么条件下可以执行哪个子函数分析Switch相较于i

浅析redis setIfAbsent的用法及在分布式锁上的应用及同步锁的缺陷

浅析redissetIfAbsent的用法及在分布式锁上的应用及同步锁的缺陷一、业务场景:同步锁的问题与分布式锁的应用1、redis的基本命令(1)SETNX命令(SETifNoteXists)语法:SETNXkeyvalue功能:当且仅当key不存在,将key的值设为value,并返回1;若给定的key已经存在,则SETNX不做任何动作,并返回0。(2)expire命令语法:expireKEYseconds功能:设置key的过期时间。如果key已过期,将会被自动删除。(3)DEL命令语法:DELkey[KEY…]功能:删除给定的一个或多个key,不存在的key会被忽略。2、实现同步锁原理(1

HTTP请求:requests的进阶使用方法浅析

1背景上篇文章讲解了requests模块的基础使用,其中有get、put、post等多种请求方式,使用data、json等格式做为请求参数,在请求体中添加请求头部信息的常见信息,如:headers、cookies,以及对请求响应的处理方法。接下来讲解一下requests的高级用法。2进阶方法举例2.1requests.request()method:提交方式(get|post);url:提交地址;kwargs:14个控制访问的参数;常用的参数有:params、data、json、headers、cookies,已在上篇文章中介绍过了,感兴趣的朋友,可以到上篇文章再回顾一下。以下将讲解与示例其他

axios浅析(一)

一、axios是什么  axios是一个轻量的HTTP客户端基于XMLHttpRequest服务来执行HTTP请求,支持丰富的配置,支持Promise,支持浏览器端和Node.js端。自Vue2.0起,尤大宣布取消对vue-resource的官方推荐,转而推荐axios。现在axios已经成为大部分Vue开发者的首选。特性从浏览器中创建XMLHttpRequests从node.js创建http请求支持PromiseAPI拦截请求和响应转换请求数据和响应数据取消请求自动转换JSON数据客户端支持防御XSRF  实际上,axios可以用在浏览器和node.js中是因为,它会自动判断当前环境是什么,

Mysql之binlog日志浅析

一、binlog日志简介  Binlog是MySQL数据库中的二进制日志,用于记录数据库中所有修改操作,包括增删改等操作。binlog以二进制格式保存,可以通过解析binlog文件来查看数据库的操作历史记录。binlog日志可以用于数据恢复、数据备份、数据同步等场景。在MySQL数据库中,binlog有两种模式:statement模式和row模式。statement模式记录的是SQL语句,row模式记录的是每一行数据的变化。binlog日志的开启和关闭可以通过设置MySQL的配置文件实现。  Binlog是MySQL数据库中非常重要的组件之一,Binlog的全称是BinaryLog,它是一种二

建筑工程项目财务管理风险及防控浅析

目录一、建筑工程项目财务管理风险二、建筑工程项目财务管理风险的防控策略1.落实工程项目管理制度,确保项目投标活动安全性2.提高项目成本管理力度,对建设资金投入量进行把控3.建立财务管理内控机制,完善风险管理体系

浅析ARMv8体系结构:异常处理机制

文章目录概述异常类型中断终止Abort复位Reset系统调用异常处理流程异常入口异常返回异常返回地址堆栈选择异常向量表异常向量表的配置同步异常解析相关参考概述异常处理指的是处理器在运行过程中发生了外部事件,导致处理器需要中断当前执行流程转而去处理异常事件的一种机制。在Intel处理器的术语中,中断与异常被分开来描述,但在ARMv8体系结构中,异常和中断统一被称为异常处理。异常类型在ARMv8体系结构中,广义上的异常可以分成同步异常和异步异常两种,其中:同步异常:指处理器执行某条指令而直接导致的异常,往往需要在异常处理函数里处理该异常之后,处理器才能继续执行;异步异常:指异常触发的原因与处理器当

浅析SPI在FPGA中的应用

spi接口在FPGA中应用的要点SPI(SerialPeripheralInterface)接口是一种同步串行通信接口,广泛应用于数字系统中,包括FPGA中。下面是SPI接口在FPGA中应用的要点:1、理解SPI协议:SPI接口是一种同步串行通信接口,包含一个主设备和多个从设备。主设备通过时钟信号控制数据传输,每次传输都由主设备发起。在传输时,主设备将数据发送给从设备,从设备将其接收并将响应数据发送回主设备。主设备和从设备通过四根线(CLK、MOSI、MISO、SS)进行通信。2、熟悉SPI接口的硬件实现:FPGA中实现SPI接口的硬件通常包括时钟模块、状态机模块、数据收发模块等。时钟模块用于

五分钟技术趣谈 | 业务系统常用限流算法浅析

Part01什么是限流? 业务系统限流是指系统在面临高并发或者大流量请求的情况下,限制新的请求对系统的访问,从而保证系统的稳定性和安全性。Part02为什么要限流?  系统资源和处理能力都是有限的,如果一个系统不限制流量,比如在秒杀活动、大促销等场景下,瞬时间大量的流量访问将超出系统的负载,最终会导致服务异常、机器宕机。Part03常用的限流算法 常用的限流算法有固定窗口算法、滑动窗口算法、漏桶算法和令牌桶算法,下面将对这几种算法分别进行介绍,这也是所有限流框架实现限流的基础。Part04固定窗口算法 固定窗口限流算法是最基础的一种限流算法。原理是将一段固定时间当做一个窗口,通过计数器记录这个