易水风萧个人学习

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

Go自定义错误用法详解

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

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

X509证书中私钥的简单解读

是梦总会碎,是心总会累

私钥的结构和构成需要先明确一个非常重要的概念:私钥本身并不属于X.509证书的一部分。X.509证书的标准格式中并没有“私钥”字段。证书的目的是安全地分发公钥,而私钥必须由证书持有者自己绝对保密地保存。 那么,平时看到的扩展名为 .key 或 .pem 的私钥文件,遵循的是另一套标准化的封装格式。最常见的是 PKCS#8 格式。 私钥的标准封装格式:PKCS#8PKCS#8 是存储私钥信息的......

x509证书公钥基础解读

为了避免结束,我避免了一切的开始

证书中提取公钥数据要从证书中提取公钥数据,最直接的方法就是使用 OpenSSL 工具。公钥数据本身是一个结构化的信息块,它不仅包含用于加解密的“钥匙材料”,还包含描述这把“钥匙”类型的“标签”。 如何提取公钥数据如果有证书文件(如 cert.pem),在终端执行以下命令,即可将公钥提取并保存到一个单独的文件中(public.pem): openssl x509 -in cert.pem -p......

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......