An open API service indexing awesome lists of open source software.

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

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