rest - 如何加密数据库中的令牌
问题描述
我为某些应用程序开发 REST API 并使用 token-auth。但是,我遇到了一个关于在数据库中存储令牌的问题:
- 使用诸如 bcrypt 或 sha3 之类的安全散列函数存储它们,并在生成后仅向用户显示一次 - 因此这些令牌将无法向后读取,并且将来无法向用户显示 - 对客户质量的影响
- 以纯文本形式存储它们——如果数据库被破坏,所有令牌都必须重新生成——这也会影响客户的质量
- 使用用户的密码加密它们 - 由于数据库可能包含多个有权访问令牌的用户,这是不可能的。
我看到很多服务,如谷歌、Github 和 Facebook,能够按需显示令牌,而无需任何特殊程序。他们将它们存储在纯文本中还是?
解决方案
推荐阅读
- python - 如何将此数据框转换为所需的设计?
- xamarin - iOS 导航栏上的 Xamarin Forms & Prism 是双倍高度
- r - 使用 lm() 与 t.test() 反转测试统计量的符号
- java - 如何使用 PowerMockito 模拟文件数组?
- testing - Apex - 测试批处理类执行方法未覆盖代码覆盖率
- c - WSAConnect - 远程服务器响应端口 80 和 443
- java - 为 FeignClient RetryableException 设置 HTTP 状态
- c# - datagridview 单元格相乘并求和文本框中的列
- service-reference - 服务引用上的 C# 中的 FakeItEasy
- linux - VS Code 无法正确响应 Linux Mint 中的键盘切换?