用Go生成指定长度的随机字符串

本文最后更新于2015年11月21日,已超过 1 年没有更新,如果文章内容失效,还请反馈给我,谢谢!

=Start=

搜索关键字:

golang fixed length random string

参考解答:

常规的比较容易想到的方案(从目标字符集中随机选出N个字符组成字符串):

从简单方案开始进行的一次优化历程:

=

=

=

上面的方法用的都是”math/rand”提供(伪)随机数,如果对随机性有高要求的话,可以用”crypto/rand”实现(速度相对来说会慢些):

=

还有一个比较偏门的方法就是用哈希值来表示随机字符串:

参考链接:

=EOF=

声明: 除非注明,ixyzero.com文章均为原创,转载请以链接形式标明本文地址,谢谢!
https://ixyzero.com/blog/archives/2535.html

《用Go生成指定长度的随机字符串》上有10条评论

  1. 一款 Go 语言开发的 UUID 生成服务
    https://github.com/dreamans/guuid

    Guuid使用了服务器主机名、运行的进程ID、时间戳、随机数、时序元素等一系列元素来保证生成UUID的唯一性。

    UUID 16 bytes, 构成:
    4 bytes 主机名&进程ID
    4 bytes 时间戳
    4 bytes 计数器
    4 bytes 随机数

发表评论

电子邮件地址不会被公开。 必填项已用*标注