美文网首页
生成较短的UUID

生成较短的UUID

作者: Colocasia | 来源:发表于2019-07-28 22:51 被阅读0次

好记性不如烂笔头啊,还是记录一下!


不知道有没有同学和我感觉一样,系统生成的UUID在某些场景下觉得有点长,有点臃肿
UUID都是128位的长度:{1DAF9E46-26F6-4F52-BBA5-422FD0E09270}
怎么把他变短一些呢?


1. 去掉不必要的修饰符

通过去掉无意义的括号和减号来较少长度:

var uuid = Guid.NewGuid().ToString("N");

这样字符串就成为1daf9e4626f64f52bba5422fd0e09270感觉还是蛮长的。


2. 使用Base64编码来表示

前面的表示方法中,是使用的16机制来表示的,如果使用Base64编码的话,则可以进一步压缩字符串

var uuid = Convert.ToBase64String(guid.ToByteArray()).TrimEnd('=');

这样字符串就成为Ivj6eZRx40+MTx2ZvnG8nA看起来稍微好一点了。


3. 进行转换

long i = 1;
foreach (byte b in Guid.NewGuid().ToByteArray())
    i *= ((int)b + 1);
var uuid = string.Format("{0:x}", i - DateTime.Now.Ticks);

这样字符串就成为dfbf66216b6d506c看起来更短了一些,感觉舒服多了就先这么用着了。


以上说法只是我的个人理解,如有不对,欢迎留言指正。

相关文章

  • 生成较短的UUID

    好记性不如烂笔头啊,还是记录一下! 不知道有没有同学和我感觉一样,系统生成的UUID在某些场景下觉得有点长,有点臃...

  • js常用函数

    1.uuid UUIDGenerator 生成 UUID。 使用cryptoAPI 生成 UUID, 符合RFC4...

  • js 生产uuid

    /* 生成uuid */ function uuid() { var s = []; ...

  • UUID——初识

    在线生成UUID:http://www.uuid.online/ 一、什么是UUID? UUID是Universa...

  • nodejs中生成uuid

    nodejs中有一个uuid的生成库uuid:https://www.npmjs.com/package/uuid...

  • nodejs中生成uuid

    nodejs中有一个uuid的生成库uuid:https://www.npmjs.com/package/uuid...

  • jpa注解

    系统生成uuid注解配置: @Id @GenericGenerator(name ="system-uuid", ...

  • fatal error: uuid/uuid.h: No suc

    我们在linux系统使用c/c++生成uuid的时候,一般会使用 uuid/uuid.h 里面的uuid_gene...

  • 生成uuid

  • postgresql中的UUID

    “默认安装的 Postgresql 是不带 UUID 函数的,为了生成一个 UUID,我们不得不在客户端生成。其实...

网友评论

      本文标题:生成较短的UUID

      本文链接:https://www.haomeiwen.com/subject/emrmrctx.html