如何使用 Tarantool 为至少 256 位长的会话生成安全 ID?



Tarantool必须返回一个256位的字符串,例如: 40ee6e5a8195284884215c2fcd476a4e4ad9a65adde8eea3efcc15b93fb44d65

内置模块摘要可用于此任务。请参阅示例:

tarantool> dg = require'digest'
---
...
tarantool> string.hex(dg.urandom(32))
---
- 3eeed423dd94abddbdeb0a27fea8f4926d77b75bb22f90b8cbb11530323c6d23
...

当然,最好传递一些与会话相关的唯一有意义的信息或唯一标识符 -uuid模块或digest.urandom可用于此目的。确保生成的哈希足够唯一,并且在会话生命周期内不能被暴力破解- 例如,请参阅此答案以获取解释。

digest模块还包含 SHA 长度的几种变体及其返回十六进制字符串的对应项:

tarantool> dg.sha224_hex(dg.urandom(256))
---
- 6a8aa191d30f068a97c31a8c826d1b3e74d9890d57b8cbb7e2c65ca1
...

最新更新