C产品在市场上有哪些独特优势?
- 内容介绍
- 文章标签
- 相关推荐
本文共计893个文字,预计阅读时间需要4分钟。
有时,我们需要生成一些Token作为标识:如认证后的标识符,资源提取码等。一种常见的算法是生成一个GUID作为Token,由于GUID的随机性和唯一性,它非常适合作为Token。GUID具有高度的随机性和唯一性,因此作为Token是非常可靠的。
有的时候,我们需要生成一些Token作为标识:如认证后的标识符,资源的提取码等。一个比较常见的算法是生成一个GUID来作为Token,由于GUID的随机性和唯一性特点,作为Token是一个非常可靠的选择。
GUID是一个128bit的数组,为了方便携带,往往需要把它表述为字符串的形式。一般把它表述为如下形式:{79FAF822-7194-4FE3-8C4F-1D99BE71BC9C}。这样有一个弊病:太长了,那么我们如何把它弄短点呢?
去掉不必要的修饰符
首先可以通过去掉无意义的括号和减号来较少长度:
var token = guid.ToString("N");
这样字符串就成为:79faf82271944fe38c4f1d99be71bc9c。感觉还是蛮长的。
使用Base64编码来表示
前面的表示方法中,是使用的16机制来表示的,如果使用Base64编码的话,则可以进一步压缩字符串
var token = Convert.ToBase64String(guid.ToByteArray()).TrimEnd('=');
这样字符串就成为:Ivj6eZRx40+MTx2ZvnG8nA。看起来稍微好一点了。
换一种Token生成方式
在使用Base64方式的编码后,Token字符串还是有20多位,有的时候还是嫌它长了。由于GUID本身就有128bit,在要求有良好的可读性的前提下,很难进一步改进了。
本文共计893个文字,预计阅读时间需要4分钟。
有时,我们需要生成一些Token作为标识:如认证后的标识符,资源提取码等。一种常见的算法是生成一个GUID作为Token,由于GUID的随机性和唯一性,它非常适合作为Token。GUID具有高度的随机性和唯一性,因此作为Token是非常可靠的。
有的时候,我们需要生成一些Token作为标识:如认证后的标识符,资源的提取码等。一个比较常见的算法是生成一个GUID来作为Token,由于GUID的随机性和唯一性特点,作为Token是一个非常可靠的选择。
GUID是一个128bit的数组,为了方便携带,往往需要把它表述为字符串的形式。一般把它表述为如下形式:{79FAF822-7194-4FE3-8C4F-1D99BE71BC9C}。这样有一个弊病:太长了,那么我们如何把它弄短点呢?
去掉不必要的修饰符
首先可以通过去掉无意义的括号和减号来较少长度:
var token = guid.ToString("N");
这样字符串就成为:79faf82271944fe38c4f1d99be71bc9c。感觉还是蛮长的。
使用Base64编码来表示
前面的表示方法中,是使用的16机制来表示的,如果使用Base64编码的话,则可以进一步压缩字符串
var token = Convert.ToBase64String(guid.ToByteArray()).TrimEnd('=');
这样字符串就成为:Ivj6eZRx40+MTx2ZvnG8nA。看起来稍微好一点了。
换一种Token生成方式
在使用Base64方式的编码后,Token字符串还是有20多位,有的时候还是嫌它长了。由于GUID本身就有128bit,在要求有良好的可读性的前提下,很难进一步改进了。

