我们正在编写API来管理可以访问我们系统的OAuth2客户端,以及与之关联的访问/刷新令牌。我们需要每个令牌的ID,它不应该是实际的令牌本身。此ID将用于引用令牌(即 GET / clients / your-clientId / tokens / )。
在数据库中使用122位令牌的哈希(sha1)标识令牌(它是随机的UUID)。
将这些哈希值作为标记的标识符公开是否可以接受,还是应该为每个标记添加额外的标识符?关键空间足够大,我觉得哈希应该足够了,但我想知道最佳实践是什么。如果哈希算法中发现任何漏洞,是否更好地使用与令牌完全无关的内容?
其他人使用哪种哈希算法来存储API的访问权限和刷新令牌?