最新要闻

广告

手机

iphone11大小尺寸是多少?苹果iPhone11和iPhone13的区别是什么?

iphone11大小尺寸是多少?苹果iPhone11和iPhone13的区别是什么?

警方通报辅警执法直播中被撞飞:犯罪嫌疑人已投案

警方通报辅警执法直播中被撞飞:犯罪嫌疑人已投案

家电

天天热推荐:重学c#系列—— 简单编写一个guid [娱乐篇]

来源:博客园


(相关资料图)

前言

什么是guid?

全局唯一标识符(GUID,Globally Unique Identifier)是一种由算法生成的二进制长度为128位的数字标识符。GUID主要用于在拥有多个节点、多台计算机的网络或系统中。在理想情况下,任何计算机和计算机集群都不会生成两个相同的GUID。GUID 的总数达到了2128(3.4×1038)个,所以随机生成两个相同GUID的可能性非常小,但并不为0。所以,用于生成GUID的算法通常都加入了非随机的参数(如时间),以保证这种重复的情况不会发生。

正文

那么如何自己编写一个guid。

static void Main(string[] args){var  guid = GenGuid("123");Console.WriteLine(guid);Console.Read();}static string GenGuid(string name){var buff = System.Text.Encoding.UTF8.GetBytes(name);var guid = new byte[16];if (buff.Length < 16){Array.Copy(buff, guid, buff.Length);}else{using (SHA1 s1 = SHA1.Create(name)){Array.Copy(s1.Hash, guid, 16);}}var format = string.Format("{0:x}{1:x}{2:x}{3:x}-{4:x}{5:x}-{6:x}{7:x}-{8:x}{9:x}-{10:x}{11:x}{12:x}{13:x}{14:x}{15:x}",  guid[0],guid[1], guid[2], guid[3], guid[4], guid[5], guid[6], guid[7], guid[8], guid[9], guid[10], guid[11], guid[12], guid[13], guid[14], guid[15]);return format;}

方式有很多,主要是要去实践,该篇非常简单,简明表示要去练,去思考,以此为记。

关键词: