https://github.com/liangjfblue/go-keyserver
动态密钥服务器。带client端,server端使用demo
https://github.com/liangjfblue/go-keyserver
gin golang redis security
Last synced: about 1 year ago
JSON representation
动态密钥服务器。带client端,server端使用demo
- Host: GitHub
- URL: https://github.com/liangjfblue/go-keyserver
- Owner: liangjfblue
- Created: 2019-09-19T05:53:56.000Z (almost 7 years ago)
- Default Branch: master
- Last Pushed: 2023-02-09T20:35:17.000Z (over 3 years ago)
- Last Synced: 2025-03-31T01:23:49.898Z (over 1 year ago)
- Topics: gin, golang, redis, security
- Language: Go
- Size: 33.2 KB
- Stars: 7
- Watchers: 1
- Forks: 3
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# 动态密钥服务器(aes128+base64 动态加密方案)
## 技术栈
- go
- gin
- redis
## 密钥保管方案
### 密钥1(本地保管)
REQ_KEY = "HKIH931JELFJ91RJ"
REQ_IV = "NOSU2398Y578TGFU"
### 密钥2(动态变化)
外部(数据库update触发写入/手工set)写进reidis,redis定时刷新
## 处理流程
- 1、客户端保存一对密钥1(用于加密),请求密钥服务器获得密钥2(用于解密)
- 2、后台服务端保存一对密钥1(用于解密),从redis中读取密钥2(用于加密)。
- 3、密钥服务器保存一对密钥1(用于**解密**客户端密钥1加密请求,**加密**动态密钥2返回给客户端),并且定时更新一对密钥2(从redis中读取密钥2)
## 更新密钥2
当想更新动态密钥,需要外部设置redis:
```set pub_key "{\"id\": \"9g1\", \"key\": \"hg92g02fewh7qk11\", \"iv\": \"546d4t546tw32e1f\"}"```
字段说明:
- id。密码盐,字符位数改变,客户端和应用后台的密码盐位数也需要改变。统一修改CodeSaltLen变量
- key。aes加密的key
- iv。aes加密的iv