您的位置: 首页 > 技术问答 > 什么是生成唯一会话ID的最佳方式? 什么是生成唯一会话ID的最佳方式? 分类: 技术问答 • 2022-09-15 09:09:05 问题描述: 我想生成一个16个字符的字母数字会话ID字符串。这样做的最好方法是什么,以确保每次生成的字符串都是唯一的?什么是生成唯一会话ID的最佳方式? 注意:我将使用C++生成会话ID。 答 通常,您会使用任何语言/操作系统服务提供此类服务来创建GUID。通常可用的GUID是16个字节长,其在十六进制表示中将是32个字符。你可以base64对它进行编码并稍微缩小(22个字符左右)。你真的需要正好16 个字符? +0 如何在C++ for UNIX中创建GUID? C++中是否有可用的API? – user32262 2009-12-05 19:04:54 +0 在Linux和其他平台上,您可以使用'libuuid':http://linux.die.net/man/3/libuuid或者,您可以使用'uuidgen' shell命令。 – 2009-12-05 20:14:36 +0 我在几个不同的地方(包括SO)阅读了GUID是可预测的。这会在使用会话ID时引入安全风险吗? – aggregate1166877 2014-03-05 22:08:58 答 使用GUID。你如何生成一个将取决于你正在运行的平台。
如何在C++ for UNIX中创建GUID? C++中是否有可用的API? – user32262 2009-12-05 19:04:54
在Linux和其他平台上,您可以使用'libuuid':http://linux.die.net/man/3/libuuid或者,您可以使用'uuidgen' shell命令。 – 2009-12-05 20:14:36
我在几个不同的地方(包括SO)阅读了GUID是可预测的。这会在使用会话ID时引入安全风险吗? – aggregate1166877 2014-03-05 22:08:58