请在C中使用简单的随机字符串生成函数。告诉我你的艺术!

时间:2010-07-08 13:15:40

标签: c function uuid

我正在使用C(ref。this question)进行一些(实际上并不是很少)项目,我需要在C中使用一个能够生成唯一且随机字符串的小函数。

我需要一个小的,我可以在.c文件中包含作为实用程序功能。 请帮助我的大脑,并告诉我这有多聪明!

感谢并且拥抱了最佳解决方案:)

编辑:(我刚刚在下面说过的内容)我实际上认为我只需要一个随机字符串作为一个键(看起来像一个uuid),我认为这是用时间戳等完成的。 (我不想仅为随机密钥生成添加一堆文件到我的项目中)

对不起,大家好!

EDIT2:谢谢大家的意见,我最后将OSSP uuid lib与SHA-1一起使用,看起来更容易实现/整合

5 个答案:

答案 0 :(得分:2)

不要重新发明轮子,可能已经在您选择的平台上编写了一个功能:http://en.wikipedia.org/wiki/Uuid#Implementations

答案 1 :(得分:1)

另一个链接 - 来自ext2fs的libuuid来源。

答案 2 :(得分:1)

你可以看看这个解释整个概念的internet draft,并尝试实现其中一种算法。

答案 3 :(得分:0)

柜台怎么样?

如果您不是多线程的,只需将实际值保存在static变量中。 (因为你需要一个字符串,你需要做一些sprintf左右才能得到你需要的东西。)

如果你实际上是多线程的,  当您使用sprintf生成随机密钥时,将计数器与线程和/或进程ID粘合在一起。

答案 4 :(得分:0)

tmpnam怎么办?