This repository has been archived on 2026-05-19. You can view files and clone it. You cannot open issues or pull requests or push a commit.
Files
2026-04-20 22:47:51 +08:00

64 lines
2.3 KiB
Markdown

| 算法类型 | 算法 | 密钥类型 | 特点 |
| ----- | ----- | ----- | ------------------- |
| HMAC | HS256 | 对称密钥 | 服务器签发和验证都 uses 同一密钥 |
| HMAC | HS512 | 对称密钥 | 更强的哈希,性能稍低 |
| RSA | RS256 | 非对称密钥 | 私钥签名,公钥验证 |
| RSA | RS512 | 非对称密钥 | 更强的签名算法 |
| ECDSA | ES256 | 椭圆曲线 | 比更短但同样安全 |
```go
type JWTAuthenticator struct {
secretKey []byte // default config: Kingsoft-2026
}
func NewJWTAuthenticator(secretKey string) *JWTAuthenticator {
return &JWTAuthenticator{
secretKey: []byte(secretKey),
}
}
```
|场景|推荐方案|理由|
|---|---|---|
|管理后台、商品列表|传统分页|需要跳页功能,数据量可控|
|社交媒体动态、无限滚动|游标分页|实时性强,只需向下加载|
|日志查看、历史订单|键集分页|大数据量,性能优先|
|搜索结果|混合方案|前10页传统 + 深度游标|
在 `vite.config.js/ts` 中配置代理,解决开发环境跨域问题:
```javascript
export default {
server: {
proxy: {
'/api': {
target: 'http://localhost:8080', // 后端服务地址
changeOrigin: true, // 改变请求源
}
}
}
}
```
|维度|自增ID|UUID|雪花ID|
|---|---|---|---|
|**生成方式**|数据库自增|算法生成|时间戳+机器ID+序列|
|**有序性**|单机有序|完全无序|时间有序|
|**分布式友好度**|需要额外方案|✅ 原生支持|✅ 原生支持|
|**性能/TPS**|10万+|1万+|100万+|
|**ID长度**|8-10字节|36字符|19字符(十进制)|
|**冲突概率**|0(单机)|≈1/2^128|理论0|
|**索引友好度**|⭐⭐⭐⭐⭐|⭐⭐|⭐⭐⭐⭐|
|**可读性**|⭐⭐⭐⭐⭐|⭐⭐|⭐⭐⭐|
|特性|命名卷|绑定挂载|
|---|---|---|
|**管理方式**|Docker 管理|用户管理|
|**存储位置**|Docker 默认目录|用户指定的任意位置|
|**跨平台兼容性**|✅ 良好|❌ 路径差异大|
|**权限处理**|✅ Docker 自动处理|⚠️ 需手动配置|
|**安全性**|✅ 隔离性好|⚠️ 直接访问主机|
|**备份难度**|⚠️ 需特殊命令|✅ 直接复制|
|**性能**|✅ 优化过|⚠️ 可能有额外开销|
|**开发调试**|⚠️ 不便|✅ 实时同步|