防火墙开放端口
参考资料Windows怎么让防火墙开放端口_电脑防火墙怎么开放端口-CSDN博客
操作windows搜索防火墙,打开
点击高级设置
点击入站规则》新建规则
填写名称后保存即可
cas单点登录
参考资料[经典单点登录协议:CAS的原理与应用 - CSDN文库](https://wenku.csdn.net/column/6fe5dipf3s#:~:text=CAS(Central Authentication,Service)是一种基于票据的单点登录协议,旨在解决应用系统中用户认证和授权的统一管理问题。 CAS协议通过服务端统一验证用户身份,并颁发票据,各应用系统通过验证票据实现用户的单点登录,从而提高系统的安全性和便利性。)
CAS单点登录(一)——初识SSO-CSDN博客
史上最强,Cas单点登录之服务端搭建_/cas/v1/tickets service.not.authorized.sso-CSDN博客
概述CAS central authentication service
基于票据的认证,由认证中心CAS服务器统一认证
过程
用户访问系统应用
系统检测到用户未登录(系统内无session),重定向到cas服务器
用户在cas服务器进行登录
cas服务器验证用户身份,颁发票据
用户携带票据返回到应用
应用向cas发送请求验证票据
验证成 ...
计算机网络
概论构成:节点与边,节点包括主机节点与数据交换节点,边包括接入链路和骨干链路,还有协议
互联网是网络的网络,是分布式的应用以及为分布式应用提供服务的基础设施组成
基础设置提供两种服务,一种是面向连接的,一种是不面向连接的
网络边缘主机与应用,构成了边缘系统,通过access接入核心。
网络边缘、接入网以及网络核心为互联网的三个子系统。
tcp面向连接
需要建立连接
可靠,不丢失,不乱序,流量控制与拥塞控制
http、ftp、telnet、smtp
udp无连接
无需建立连接
不可靠,无流量控制,无拥塞控制
流媒体、远程会议、dns、网络电话
网络核心全球范围内的数据交换
电路交换
不共享,分配后若无数据交换会被浪费
性能有保障
被传统电话网络使用
分片大小固定
频分、时分
分组交换
存储转发
线路可以共享,不会占用整个链路
使用存储排队换取共享性
如果路由器缓存用完了会被丢弃
分片大小按需分配
转发方式:数据报(无连接)、虚电路(有连接)
这里的有连接与tcp的面向连接不同,tcp的连接仅体现在tcp层,中间的设施不维护他们的连接状态
接入网 ...
将文件加密到图片文件中
原理以bmp文件为例,在32位格式的bmp图片中,每个像素都有四个通道,分别为ARGB,也就是透明度,红色,绿色,蓝色。但bmp的透明度通道似乎不会被软件所解析,所以当修改其内容时并不会对图片显示有影响。
故可进行操作:将待加密文件转为字节数组,将每一个字节逐个存入 bmp的alpha通道中即可完成加密,解密则是将图片的alpha通道内容读出并拼接。
同时用了bmp文件本身的保留区(06-09)来存储原文大小,保留区本身无意义,进行修改不会影响
代码123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124import ja ...
bmp图像结构了解与编辑
参考资料BMP图像文件完全解析 - 知乎 (zhihu.com)
测试文件文件大小为8*8,保存格式为24色,
每行的开头都为000000的黑色,结尾为ffffff的白色,方便判断行开头与行结尾
文件格式
文件标识:类似于class文件的cafebabe,bmp文件开头为ascii编码的BM,也就是424d
文件大小:从02字节到05字节为文件大小,且为小端字节序,测试文件中为000000f6,也就是246,单位为字节
保留位,无意义:06-09字节
图像开始位置:0A-0D字节,表示图像像素开始位置,这里可以看到是00000036,刚好是我们做了标识的纯黑色开头,只不过上下是颠倒的
图像头大小:0D-11字节,标识头的大小,测试文件中是0x28,也就是40个字节
图像宽高:紧挨着的4字节为图像宽度,再往后4字节为图像高度,这里都是8,注意图像的高度和宽度是有正负之分的,当高度为正数时,图像的存储方式为从下到上
颜色平面数:2字节 恒为1
每个像素的位数:2字节 其值可为1,4,8,16,24,32,24位为常见的RGB,32位则多了arpha通道
压缩方式:4字节,全为0为不压缩 ...
mysql字段类型不同导致的隐式转换问题
参考资料MySQL :: MySQL 8.0 Reference Manual :: 14.3 Type Conversion in Expression Evaluation
MySQL 避坑指南之隐式数据类型转换_mysql隐式转换整数转浮点数-CSDN博客
MySQL隐式转化整理 - Rollen Holt - 博客园 (cnblogs.com)
场景当两个字段类型不同,但要对他们进行运算,则会隐式的对其进行转换
文档原文:
If one or both arguments are NULL, the result of the comparison is NULL, except for the NULL-safe <=> equality comparison operator. For NULL <=> NULL, the result is true. No conversion is needed.
有一方类型为NULL,结果即为NULL,除非是太空船运算,NULL <=> NULL结果为true
If both a ...
PicGo配合github搭建图床
参考资料Typora搭建github图床 - 知乎 (zhihu.com)
利用GitHub+jsdelivr搭建一个高速图床全网最详细附加解决上传失败问题 - 知乎 (zhihu.com)
如何使用jsDelivr+Github 实现免费CDN加速? - 知乎 (zhihu.com)
使用 jsDelivr CDN 对 Github 图床进行加速,带给你如丝滑般的图片体验! - 知乎 (zhihu.com)
配置手册 | PicGo
配置文件 | PicGo-Core
github端配置建立图床仓库github上新建一个开源仓库,用于存放图片资源
生成访问token个人设置>开发者设置>个人访问token
选择刚创建的仓库
这里的token需要有Content的写入权限,权限参考:REST API endpoints for repository contents - GitHub Docs
Typora端配置PicGo-Core进入Typora的设置,找到图像配置中的图像上传配置,选择PicGo-core,点击右侧的下载或更新,等待下载。
下载完成后,点击打开配 ...
arthas
介绍用于监控运行时的java进程,且无需对java进程进行配置
官网快速入门 | arthas (aliyun.com)
使用运行arthas时,会输出jps信息,输入序号选择对应的java进程进行跟踪
命令命令列表 | arthas (aliyun.com)
dashboard 查看数据面板
jad 反编译类
monitor 监控方法的调用
watch 监控方法的返回值与入参等
启动官网下载jar包后,在待监控服务机器上使用java -jar命令执行该jar包
启动后会输出一个当前机器上的java进程列表,选择对应的(要监控的java进程)进行监控
Watch监控某方法的入参与出参使用watch命令,比如要查看如下方法
1234567891011121314package com.boranget.controller;@RestControllerpublic class HelloController { @Autowired private HelloService helloService; @RequestMapping("/ ...
JavaAgent
参考资料一文讲透Java Agent是什么玩意?能干啥?怎么用? - 知乎 (zhihu.com)
背景JVMPI(Java Virtual Machine Profiler Interface)与JVMDI(Java Virtual Machine Debug Interface)是java在1.5之前提出的jvm规范,分别要求jvm提供分析与调试的接口,1.5之后将两类接口合称为JVMTI(JVM Tool Interface)
JAVA AGENT在JDK1.5之后,jvm提供了探针接口Instrumentation,底层依赖JVMTI的native api,在1.6之后,jvm提供了attach接口,同样是依赖JVMTI的native接口。
可认为Java Agent可以理解为是一种特殊的Java程序,是调用Instrumentation接口的客户端。
java agent无法单独启动,必须依附在一个java应用程序上,与其共享同一个jvm,通过Instrumentation接口与jvm进行交互。
Java Agent有两种执行方式:
premain
在应用运行之前会通过 ...
签名
参考资料签名验签 - 知乎 (zhihu.com)
公私钥公私钥并不都是向ssl中公钥用于加密,私钥用于解密,具体要看使用场景。
但有一点是不变的,就是从名字上看,公钥就是公开的,私钥就是自己留着的。
签名对于签名来说,签名要完成的功能是,对一段信息进行计算,生成一段数据,这段数据需要简短,且对原始报文进行修改后,可以通过之前的签名发现报文被修改。将原始报文以及签名一并发给接收方后,接收方可以通过“验签”操作验证报文是否被修改。
之前一直以为签名由于数据变短,不可复原,所以使用的一定是单向加密,但今天了解e签宝原理时突然想到,如果是单向加密,那如何验签?假如签名算法暴露,那完全可以修改原文的同时修改密文,这样还是看不出来原文被修改。
原理签名方持有一对公私钥,公钥公开,私钥自己持有。
签名方首先使用摘要算法对原始报文进行摘要,这段摘要操作是不可逆的,保证签名简短。
签名方使用私钥对摘要进行加密,获得签名。接着将原始报文,签名发给验签方。
验签方使用之前保存的公钥对签名进行解密,获取摘要1,接着使用同样的摘要算法对原文进行摘要获得摘要2,最后对比摘要1和摘要2的内容是否相同,若相同则说明 ...