易水风萧个人学习

风萧萧兮易水寒,壮士一去兮不复还

Go自定义错误用法详解

所有的期待和失望都是因为你把自己看得太重要了

Go 中自定义 error 的详细说明基础自定义 error最简单的自定义 error 方式: // 方式1:使用字符串type MyError stringfunc (e MyError) Error() string { return string(e)}// 使用func doSomething() error { return MyError......

x509证书的基础应用与解读

哪怕我们都是普通人,也会有人爱着治愈着,拉着我们慢慢变好

X.509 证书是代表用户、计算机、服务或设备的数字文档。 证书颁发机构 (CA)、从属 CA 或注册机构负责颁发 X.509 证书。 证书包含证书使用者的公钥。 它们不包含使用者的私钥(必须安全存储)。 RFC 5280 记录公钥证书,包括它们的字段和扩展名。 公钥证书经过数字签名,通常包含以下信息: 证书使用者的信息 与使用者私钥相对应的公钥 证书颁发机构的信息 支持的加密和/或数字签......

VS Code中launch.json文件用法详解

每一个懂事淡定的现在,都有一个很傻很天真的过去,每一个温暖而淡然的如今,都有一个悲伤而不安的曾经

launch.json文件什么是 launch.jsonlaunch.json 文件位于项目根目录的 .vscode 文件夹下。它的主要作用是告诉 VS Code 的调试器: 如何启动你的程序(例如,使用哪个解释器/运行时,传递什么参数)。 如何附加到已经运行的程序上进行调试。 为不同的编程语言和运行时环境(Node.js, Python, C++, Go, .NET等)提供定制化的调试配......

JSON Schema 与 JSON 数据验证

我们总在最不懂爱的年纪,遇到最想守护的人,然后在懂爱的年纪,失去那个最想守护的人

什么是 JSON SchemaJSON Schema 本身就是一个 JSON 文档,它用一种基于 JSON 的格式来定义其他 JSON 数据的结构和内容。它可以用来: 验证:确保 JSON 数据符合预期的格式(必填字段、数据类型、范围等)。 文档化:作为数据模型的清晰、机器可读的文档。 交互式验证:为前端表单提供动态校验规则。 自动化测试:验证 API 请求和响应的结构。 如何开始使用?......

使用PlantUML绘制UML图

失去的东西,其实从来未曾真正地属于你,也不必惋惜,始终真心真意

PlantUML 使用简单直观的文本语言来定义图表,然后将其渲染为图片。 如何渲染(使用)PlantUML 在线编辑器: 访问 PlantUML 官方网站 或 PlantText,将代码粘贴到左侧,右侧会实时生成图表。 VSCode 插件: 安装 PlantUML 插件,编写 .puml 或 .wsd 文件,按 Alt+D 即可预览。 本地渲染: 下载 PlantUML 的 JAR 包,使......

ECC密钥协商详解及实现与应用

有时候,最深的伤,不是别人的背叛,而是自己亲手关闭了心门

ECC密钥协商详解及实现与应用ECC密钥协商原理ECC(椭圆曲线密码学)密钥协商基于椭圆曲线离散对数问题,最常用的是ECDH(椭圆曲线Diffie-Hellman)算法。 ECDH密钥协商过程 参数选择:双方约定使用相同的椭圆曲线参数(如secp256r1) 密钥对生成:双方各自生成ECC密钥对(私钥d和公钥Q=d×G,其中G是基点) 公钥交换:双方交换各自的公钥 共享密钥计算: Alic......

ECC加密算法基础知识与java实现和应用

现代人的崩溃是安静的,不会摔门砸东西,但可能在某个瞬间突然觉得活不下去又不敢死

第一部分:椭圆曲线密码学(ECC)基础 首先,要明确一点:我们通常所说的“ECC加密”实际上是一个统称,它主要包含两个部分: 基于椭圆曲线的数字签名算法(ECDSA):这是最常用的部分,用于生成和验证数字签名。 R 和 S 就是签名中的两个核心组成部分。 基于椭圆曲线的加密/密钥交换(ECIES/ECDH):用于加密数据或安全地协商一个共享密钥。 D 通常在这里出现,代表私钥。 ......

java调用golang

人活着,是一种责任,也是一种迁就,走在自己的路上,总有一些无奈,也有一些放弃,时间沉醉,人生迷茫

前提准备在Windows中开发时 安装一个window平台可用的c编译器,以下两个安装任意一个即可 TDM-GCC tdm-gcc Cygwin cygwin.com 安装成功之后,执行以下命令: λ gcc -v specsCOLLECT_GCC=gccCOLLECT_LTO_WRAPPER=C:/TDM-GCC-64/bin/../libexec/gcc/x86_64-w64-mi......

ASN1之字符串数据类型与BER和DER编码形式

人越长大,就越习惯压抑内心的真实感受,不再放声大哭放声大笑,什么都只是淡淡的点到为止

TAG 类型 TAG 类型 0 (hex:00) BER保留 16(hex:10) SEQUENCE,SEQUENCE OF 1 (hex:01) BOOLEAN 17(hex:11) SET,SET OF 2(hex:02) INTEGER 18(hex:12) NumericString 3(hex:03) BIT STRING 19(hex:13) Prin......

自动标签与显式编码及隐式编码

纽扣第一颗就扣错了,可你扣到最后一颗才发现,有些事一开始就是错误

类型与类型定义类型列表基础类型的标签号 TAG 类型 TAG 类型 0 (hex:00) BER保留 16(hex:10) SEQUENCE,SEQUENCE OF 1 (hex:01) BOOLEAN 17(hex:11) SET,SET OF 2(hex:02) INTEGER 18(hex:12) NumericString 3(hex:03) BIT STR......