go的AES加密主要用`crypto/aes`和`crypto/cipher`两个库来实现。 AES加密模式又好多种,这里研究了6种模式:CBC、CFB、OFB、ECB、CTR、GCM模式。 一看到这么多模式,如果那里需要用到一下都不知道哪种好,这里大概总结一下。 如果数据通过非对称签名进行身份验证,则使用CBC,否则使用GCM。 最好的模式是GCM模式,GCM可以保证数据的保密性和完整性,其他模式只能保证保密性,不能保证完整性,具体可以去了解下AEAD。 GCM模式属于AEAD加密。 所以除了GCM模式之外其他模式最好是增加hmac哈希,用来验证数据完整性。 ECB模式不建议使用,因为这种模式不安全,go的内置库也没有去实现这种模式。 go AES 6种加密模式代码:https://github.com/ilaziness/gopkg/tree/main/crypto/aes iv值的生成可以参考cfb模式的代码,每次加密都是随机生成的。...
 发布日期: 2022-11-11    分类: Go    浏览量: 62   0条评论  
本文操作系统是ubuntu 22.04 server amd64版本,k8s是v1.25。 虚拟机配置是2核4G,一个master节点,2个node节点。 - k8s-master:192.168.184.217 - k8s-node1:192.168.184.150 - k8s-node2:192.168.184.64 ## 准备工作 - master节点添加node1和node2的hosts解析,node1和node2添加master的hosts解析 ```bash # k8s-master /etc/hosts 192.168.184.150 k8s-node1 192.168.184.64 k8s-node2 # k8s-node1、k8s-node2 /etc/hosts 192.168.184.217 k8s-master ``` - 禁用所有主机的swap ```bash # 临时禁用swap sudo swapoff -a # 永久禁用swap,注释掉swap sudo vim /etc/fs...
 发布日期: 2022-09-25    分类: 后端    浏览量: 276   0条评论  
> [containerd官方文档](https://github.com/containerd/containerd/blob/main/docs/getting-started.md) > 本文操作系统是64位的ubuntu22.04,按照官方文档通过二进制文件来安装 需要安装三个组件containerd、runc和CNI插件。 - containerd:是一个容器运行时 - runc:根据OCI规范生成和运行容器的命令行工具 - CNI插件:配置容器网络的工具,CNI全称是Container Network Interface, ## 1. 安装containerd github下载合适的包:https://github.com/containerd/containerd/releases 下载好之后解压到`/usr/local`: ```bash sudo tar Cxzvf /usr/local containerd-1.6.8-linux-amd64.tar.gz ``` > 官方github下载的二进制包仅适用于基于gl...
 发布日期: 2022-09-25    分类: 后端    浏览量: 164   0条评论  
微服务知识图谱,微服务组件图,微服务结构图 ![微服务知识图谱](https://360us.net/images/2022/202208242357.png)...
 发布日期: 2022-08-25    分类: 后端    浏览量: 207   0条评论  
种子链接文件列表:Cover.jpg 237.3 kB01. Intro.flac 5.8 MB02. 最伟大的作品.flac 50.5 MB03. 还在流浪.flac 55.9 MB04. 说好不哭.flac 44.0 MB05. 红颜如霜.flac 53.0 MB06. 不爱我就拉倒.flac 52.4 MB07. Mojito.flac 39.8 MB08. 错过的烟火.flac 56.8 MB09. 等你下课.flac 58.0 MB10. 粉色海洋.flac 40.5 MB11. 倒影.flac 50.5 MB12. 我是如此相信.flac 56.6 MB  更多内容请查看:https://www.ibeetv.com/...
 发布日期: 2022-07-18    分类: 后端    浏览量: 1584   0条评论  
使用Drone搭建持续集成系统 - 持续集成:自动化的测试、编译打包并且自动部署到开发或者测试环境 - 持续交付:自动化的测试、编译打包生产环境的包,但是不做自动化的生产环境部署,需要手动来做 - 持续部署:和持续交付的区别就是生产环境的部署也是自动化的。 Drone持续集成系统主要有两部分组成: - Drone服务器:这个是用来管理的一个UI界面 - runner:这个是用来执行构建动作的服务 仓库以国内的Gitee为例子。Drone版本是2。 ### 1、创建仓库访问应用 在自己的Gitee后台创建一个可以访问自己仓库的应用,位置在`个人设置-数据管理-第三方应用`。 ![gitee_oauth](https://360us.net/images/2022/gitee_token_create.png) Gihub和Gitlab也是类似的,创建一个`OAuth`的应用,方便可以通过这个密钥访问我们的仓库。 ![create](https://360us.net/images/2022/github_application_...
 发布日期: 2022-04-27    分类: 后端    浏览量: 592   0条评论  
Gin模型数据绑定验证器用的是go-playground/validator/v10。默认提示是英文内容,我们需要翻译成中文内容。 创建一个文件`validator.go`: ```go package utils import ( "github.com/gin-gonic/gin/binding" "github.com/go-playground/locales/en" "github.com/go-playground/locales/zh" ut "github.com/go-playground/universal-translator" "github.com/go-playground/validator/v10" zhtranslations "github.com/go-playground/validator/v10/translations/zh" "log" ) var trans ut.Translator //设置验证器中文翻译 func init() { if trans != nil { ...
 发布日期: 2021-12-08    分类: Go    浏览量: 1078   0条评论  
go从1.11版本开始,实验性的加入了`WebAssembly`的支持。 ## `hellow world`程序 ```go package main import "fmt" func main() { fmt.Println("Hello, WebAssembly!") } ``` 设置go编译`WebAssembly`环境变量值,`GOOS=js`和`GOARCH=wasm`。 设置方法有两种: - 修改默认变量值,执行命令:`go env -w GOOS=js GOARCH=wasm` - 编译的时候指定值:`cd`到项目根目录,执行命令:`GOOS=js GOARCH=wasm go build -o main.wasm` 这时将生成一个`main.wasm`文件,`.wasm`后缀的文件可以通过`http`设置合适的`Content-Type`http头来使用。 需要注意的一点是,只能编译`main`包,否则是不能在`WebAssembly`里面使用的。 **在浏览器里面运行`main.wasm`** ...
 发布日期: 2020-01-09    分类: Go    浏览量: 3163   0条评论  
protocol buffers(简称**protobuf**)是google搞的,是用来序列化数据的一种数据格式,类似于json、xml等这种。 本文其他概念不讲直接讲基本用法了。 首先需要定义数据结构,数据结构定义写在一个扩展名是`.proto`的文本文件里面,这个文件叫做`proto`文件。 protobuf的数据叫`message`,每一个消息都是一系列名值对,我们把他叫做`fields`,当然还有更复杂的结构,这就不在这里讨论了。 例如: ``` syntax = "proto3"; #版本 package tutorial; #包名 message Person { string name = 1; int32 id = 2; bool has_ponycopter = 3; } ``` `package`包名是为了避免不同项目的名字冲突。 上面就是我们定义的数据结构,然后用protobuf的编译器`protoc`去生成指定语言的数据访问代码,提供了简便的方法来操作整个结构的二进制数据。 pr...
 发布日期: 2019-06-18    分类: 后端    浏览量: 2822   0条评论  
默认是有个JsonResponseFormatter的,但是呢,我们如果做APP的API的话,json响应的格式和内容,每个人的约定都是有差异的,不可能和yii2默认的相一致。之前通过搜索搜索到的答案是,给Response对象的EVENT_BEFORE_SEN事件注册一个处理函数,在发送结果之前再处理一下。原文链接:https://github.com/yiisoft/yii2/blob/master/docs/guide-zh-CN/rest-error-handling.md主要代码如下:return [     // ...     'components' => [         'response' => [             'class' => 'yii\web\Response',             'on beforeSend' => function ($event) {                 $response = $event->sender;                 if ($response-&g...
 发布日期: 2016-12-15    分类: PHP    浏览量: 4087   0条评论