Встроенный модуль дайджест может быть использован для этой задачи. См. Пример:
tarantool> dg = require'digest'
---
...
tarantool> string.hex(dg.urandom(32))
---
- 3eeed423dd94abddbdeb0a27fea8f4926d77b75bb22f90b8cbb11530323c6d23
...
Конечно, лучше передать некоторую уникальную значимую информацию, относящуюся к сеансу, или уникальный идентификатор - для этого можно использовать uuid
module или digest.urandom
. Убедитесь, что сгенерированный ha sh является достаточно уникальным и не может быть перебран в течение времени существования сеанса - см., Например, этот ответ для объяснение.
Модуль digest
также содержит несколько вариантов длин SHA и их аналоги, возвращающие шестнадцатеричные строки:
tarantool> dg.sha224_hex(dg.urandom(256))
---
- 6a8aa191d30f068a97c31a8c826d1b3e74d9890d57b8cbb7e2c65ca1
...