- 博客(167)
- 收藏
- 关注
原创 哈希,对称加密,非对称加密
为了让你更清晰地掌握目前信息安全领域的核心技术,我将这些主流算法分为三大类进行详细解析:哈希算法(数据指纹)、对称加密(一把钥匙开一把锁)和非对称加密(公钥与私钥)。使用一对密钥(公钥和私钥)。特点是安全性高(解决密钥分发问题),但速度慢。哈希算法用于生成数据的“指纹”,特点是不可逆(无法从指纹还原数据)。🔑 三、非对称加密算法(Asymmetric Encryption)📋 一、哈希算法(Hash Algorithms)🗝️ 3. 专用密码哈希算法(用于存密码)🗿 1. RSA(最经典、最普及)
2025-12-09 00:57:45
374
原创 javascript-基于堆的优先队列
本文介绍了最小优先队列的特点及其JavaScript实现。最小优先队列具有优先级排序、快速访问、高效插入/删除和动态调整等特点,适用于任务调度、最短路径算法等场景。文章提供了三种JavaScript实现方式:基于堆的完整实现(支持元素和优先级)、简化版本(仅存储值)和使用比较函数的通用版本。实现均包含核心操作如入队、出队、堆调整等,完整实现还提供了查看队首、队列大小等方法。这些实现为不同需求场景提供了灵活选择。
2025-09-10 18:02:56
332
原创 JavaScript-堆的实现
任务调度系统:按优先级执行任务Dijkstra算法:寻找最短路径堆排序算法:高效的排序方法Top K问题:找最大/最小的K个元素中位数查找:维护两个堆来跟踪中位数内存管理:某些垃圾回收算法使用堆堆是一种非常实用的数据结构,在需要频繁获取最大值或最小值的场景中特别有用。
2025-09-10 11:31:26
811
原创 leaflet加载4547坐标系
leaftlet支持的坐标系很少,4547就不支持,需要通过 proj4 proj4leaflet 来实现。// 现在 L 再次指向另一个库,您可以使用 Leaflet.Map 等。
2025-06-26 10:53:38
242
原创 CSRF 和 XSS 攻击分析与防范
XSS (Cross-Site Scripting) 是攻击者向网页注入恶意脚本,当其他用户访问时执行的攻击方式。三种类型存储型 XSS:恶意脚本存储在服务器上反射型 XSS:恶意脚本作为请求的一部分返回DOM 型 XSS:完全在客户端执行的攻击。
2025-05-15 23:43:40
521
原创 浏览器验证证书
等多重机制确保HTTPS证书的合法性。任何一环失败都会触发安全警告。开发者需确保证书配置正确,并定期更新以避免中断。在TCP握手成功后进行TSL握手,在服务器的Server Hello的过程中会返回给客户端数字证书。CA首先构建证书的原始数据(包括公钥、颁发者、有效期、域名等信息),格式遵循X.509标准。即使证书是合法的,也可能因私钥泄露等原因被CA吊销。浏览器验证证书的合法性是一个多步骤的过程,涉及。这一设计基于效率和安全的权衡。签发的,而不是伪造的。浏览器需要确认证书是由。在数字证书的签发过程中,
2025-05-15 16:05:31
1800
原创 linux系统的文件目录全称
通过理解这些目录的用途,可以更高效地管理系统文件、定位配置或日志问题。以下是Linux文件系统目录结构的全称及其常见用途的详细说明,遵循。
2025-05-14 00:47:44
384
原创 Cesium添加WMS,WMTS,地形图图,3D Tiles数据
WMTS(Web Map Tile Service)是一种瓦片地图服务,适合加载高分辨率地图。WMS(Web Map Service)是一种动态地图服务,适用于加载栅格地图图层。(如 Cesium World Terrain)。3D Tiles 是 Cesium 的。Cesium 支持加载。
2025-04-29 17:39:00
1498
原创 天地图图层标识
以下是天地图(Tianditu)及其他常见地图服务中 图层代码的英文全称 和 坐标系后缀 的详细说明:天地图URL中的后缀表示坐标系类型:示例:天地图注记层规则:坐标系选择:组合使用示例:如需其他地图服务(如ArcGIS、Bing Maps)的代码规范,可进一步补充说明。
2025-04-29 17:20:48
1136
1
原创 EPSG的作用
欧洲石油调查组织)是国际上一个负责制定和维护大地测量、地图投影、坐标系统等地理空间数据标准的组织。虽然它最初由石油行业发起,但如今其标准已被全球广泛采用,成为地理信息系统(GIS)、遥感、测绘等领域的基础规范。总结来说,EPSG是地理空间领域的“通用语言”,确保不同系统和数据能无缝对接。理解EPSG代码是处理地图、遥感、定位等数据的基础技能。通过标准化的参数,帮助不同坐标系统之间准确转换(如从地方坐标系转到全球坐标系)。EPSG为不同的坐标系统分配唯一的编号(如。代表WGS84经纬度坐标,
2025-04-29 16:38:22
549
原创 微信H5网页根据图片base64生成图片长按下载
库生成图片base64,然后将图片覆盖到目标dom上实现长按保存图片。微信H5不支持js操作本地下载图片,只能长按图片保存,所以使用。
2025-04-15 16:17:51
411
原创 Function.prototype.__proto__==Object.prototype
关于函数的一条有意思的原型链:fill:#333;fill:none;ry:5px;ry:5px;ry:0;ry:5px;rx:0;ry:0;rx:0;ry:0;__proto____proto____proto____proto____proto__fn()nullFunctionObject。
2025-02-16 01:28:05
1124
原创 nestjs-属性注入和构造函数注入的区别
在构造函数中打印 this.reflector 时,Reflector 还未被注入,所以是 undefined。如果必须使用属性注入,可以在生命周期钩子(如 OnModuleInit)或后续方法中访问注入的依赖。在后续的请求方法(如 get 方法)中,Reflector 已经被注入,所以可以正常访问。属性注入的依赖在构造函数中不可用,因为 NestJS 会在类实例化之后才为属性赋值。NestJS 在实例化类时,会首先解析构造函数中的依赖,并注入相应的实例。因此,构造函数中的依赖在类实例化时就已经准备好了。
2025-02-14 00:58:35
402
原创 replaceState和vue的router.replace删除query参数的区别
在vue项目中,如果要替换掉query参数,可以使用。然后通过该方法删除某个query参数。获取的参数就会有变化,如果是通过。
2025-01-15 11:13:39
512
原创 yarn修改缓存位置
yarn config set global-folder “自定义node_modules目录路径”yarn config set cache-folder “自定义cache目录路径”yarn config set prefix “自定义bin目录路径”查看global目录命令:yarn global dir。查看cache目录命令:yarn cache dir。查看bin目录命令:yarn global bin。
2024-12-16 16:47:51
1204
原创 前端代码git工程化和格式化规范
husky,允许在git钩子中执行不同的脚步,如各种工具, 验证commit信息,以及采取的规范,以及帮助生产commit message的工具,生成文件,以及根据什么规范来生成,生成,修改的version,commit其新增的文件,最后的git push和npm publish需要自己手动敲。eslint代码质量检验核心包,@eslint/js包含了内置的一些规则。prettier代码风格格式化包,关闭eslint中和prettier冲突的代码风格化规则,
2024-11-29 13:01:35
776
原创 【Cesium】--viewer,entity,dataSource
/ 根据实体创建dataSourcei++){// 根据name获取dataSource// 切换数据源显隐}else if(!}else{// 删除dataSource}else if(!
2024-11-25 17:26:17
1118
原创 swagger-ui-react渲染openapi.json显示api文档,配置服务器和认证信息
【代码】swagger-ui-react渲染openapi.json显示api文档,配置服务器和认证信息。
2024-11-20 16:30:58
315
原创 vue-router使用history模式,在浏览器新打开标签页跳转路由提示找不到路由
里配置回退路由,配置的基础路由要和。一样,这样在代码里通过。
2024-11-18 16:00:28
322
原创 echart堆叠柱状图tooltip不显示value为0的情况,自定义formatter
echart堆叠柱状图tooltip不显示value为0的情况,自定义formatter。
2024-11-08 16:39:37
584
原创 echart 使用dataset.source更新数据时,为什么那个legend没有被更新到呢?
在 ECharts 中使用 dataset.source 更新数据时,图例(legend)并不会自动更新。这是因为图例的内容是根据 series 中的 name 属性或 legend.data 属性来生成的,而不是直接从数据集中推导的。在更新 dataset.source 后,手动设置 legend.data 的内容,以确保图例与数据一致。确保 series 中的每个系列都设置了对应的 name 属性,这样在更新数据时,图例会自动对应这些系列。
2024-10-29 14:53:12
645
原创 两个平行重叠的div,鼠标事件穿透
上层的外层容器设置pointer-events:none;,里面需要点击的div设置pointer-events:all;
2024-10-28 17:20:20
250
原创 js中的字符串的length的知识点。
因此string.length这里的长度指的是16位码元的长度,比如长度是2,说明这个值存储占用了2个码元,2*16=32位,4个字节。utf-24不实用,计算机不好处理,性能差,而且节省的空间也不多,所以不编码的方式就用utf-32。字符不用编码,直接存储,大于这个范围的用一个代理对(2个16位,即2个码元)表示,编码后的值为。(基本多语言平面字符集),剩余的字符集为补充字符集包括了(许多常见的emoji字符位于此)。:会将unicode码以6位为界切割,编码后的值在1-4字节。
2024-08-22 18:50:44
541
原创 eval和new Function构造函数时的区别
对于定义函数来说,如果想用eval动态构造函数,那么有两种方式:1.使用箭头函数表达式构造函数,2.使用。,并且返回最后一个表达式(注意不是声明语句)的值。这里需要注意的是返回的值是表达式的值,比如。共同点:二者构造的函数的作用域都是全局的,可以通过。将函数function声明语句包裹起来,
2024-07-09 15:15:25
448
原创 webpack打包gz文件,nginx开启gzip压缩
webpack4配合"compression-webpack-plugin": "^6.1.2"打包压缩gz。
2024-06-18 22:46:10
731
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅