C# Guid 16位 唯一

   public static class GuidExtentions
    {
        /// <summary>
        /// 根据GUID获取16位的唯一字符串
        /// </summary>
        /// <param name="guid"></param>
        /// <returns></returns>
        public static string To16String(this Guid guid)
        {
            var i = guid.ToByteArray().Aggregate<byte, long>(1, (current, b) => current* (b + 1));
            return $"{i - DateTime.Now.Ticks:x}";
        }
        /// <summary>
        /// 根据GUID获取19位的唯一数字序列
        /// </summary>
        /// <returns></returns>
        public static long ToInt64(this Guid guid)
        {
            var buffer = guid.ToByteArray();
            return BitConverter.ToInt64(buffer, 0);
        }
    }

使用:

var guid=Guid.NewGuid().To16String();
时间: 2024-10-16 19:30:57

C# Guid 16位 唯一的相关文章

GUID转换成16位字符串或19位唯一字符串

整理几个常用GUID转换成16位字符串或19位唯一字符串方法: /// <summary> /// 根据GUID获取16位的唯一字符串 /// Author : 付义方 /// </summary> /// <param name=\"guid\"></param> /// <returns></returns> public static string GuidTo16String() { long i = 1;

C# GUID转换成16位字符串或19位数字并确保唯一

/// <summary> /// 根据GUID获取16位的唯一字符串 /// </summary> /// <param name=\"guid\"></param> /// <returns></returns> public static string GuidTo16String() { long i = 1; foreach (byte b in Guid.NewGuid().ToByteArray())

C# 16位的GUDI

引用: http://www.cnblogs.com/lcwzj/archive/2009/04/16/1436992.html 当我们想要获得一个唯一的key的时候,通常会想到GUID.这个key非常的长,虽然我们在很多情况下这并不是个问题.但是当我们需要将这个36个字符的字符串放在URL中时,会使的URL非常的丑陋. 想要缩短GUID的长度而不牺牲它的唯一性是不可能的,但是如果我们能够接受一个16位的字符串的话是可以做出这个牺牲的. 我们可以将一个标准的GUID 21726045-e8f7-

16位汇编第八讲指令第四讲

16位汇编第八讲指令第四讲 一丶串操作类指令 1.什么是串操作? 1.串操作指令是8086指令系统中比较独特的一类指令,采用比较特殊的数据串寻址方式,在操作主存连续区域 的数据是,特别好用.因而比较常用 简而言之,就是内存中的一段数据,拷贝/读取/修改... 到另一块另内存 重点掌握  MOVS  STOS  LODS CMPS SCAS REP 2.串操作的简介 1.串操作指令的操作数,是驻村中连续存放的数据串(String 注意string表示串的意思)--也就是一段数据在内存中 是连续的,

在线生成32位和16位大小写MD5密文

MD5是一种不可逆的加密算法,全称是Message-Digest Algorithm 5(信息-摘要算法).是当前计算机领域用于确保信息传输完整一致而广泛使用的散列算法之一. MD5的典型应用是对一段信息(Message)产生信息摘要(Message-Digest),以防止被篡改.比如,在UNIX下有很多软件在下载的时候都有一个文件名相同,文件扩展名为.md5的文件,在这个文件中通常只有一行文本,大致结构如: MD5 (tanajiya.tar.gz) = 0ca175b9c0f726a831d

一小时内破解16位强密码

密码可以用来保护你的金融交易.你的社交网络站点,和其他貌似安全的在线网站的主机.人们经常说:"不要把字典里的单词用来做密码.它们超级不安全".可是,要是黑客们能想办法破解任何16位字符的密码,那该怎么办? 那些试图潜入你的数字后院的犯罪分子或入侵者们总是能找到办法.针对用MD5加密函数转换为哈希值的16,449个随机生成的密码列表,一个黑客团队已经破解了其中超过14,800个. 这里面暴露出来的问题是相对较弱的加密方法,它叫做哈希方法.哈希方法以纯文本方式获取每个用户的密码,然后传入一

Linux江湖08:使用GCC和GNU Binutils编写能在x86实模式运行的16位代码

不可否认,这次的标题有点长.之所以把标题写得这么详细,主要是为了搜索引擎能够准确地把确实需要了解GCC生成16位实模式代码方法的朋友带到我的博客.先说一下背景,编写能在x86实模式下运行的16位代码,这个话题确实有点复古,所以能找到的资料也相应较少.要运行x86实模式的程序,目前我知道的只有两种方式,一种是使用DOS系统,另一种是把它写成引导扇区的代码,在系统启动时直接运行.很显然,许多讲自己实现操作系统的书籍都会讲到x86实模式,也只有自己实现操作系统引导的朋友需要用到x86实模式,所以我这篇

16位汇编语言第二讲系统调用原理,以及各个寄存器详解

昨天已将简单的写了一下汇编代码,并且执行了第一个显示到屏幕的helloworld 问题? helloworld怎么显示出来了. 一丶显卡,显存的概念 1.显示hello就要操作显示器,这是非常原始的,那个时候的程序员,并没有像现在的RGB(红绿蓝)这样的三色真彩色,那个时候就是操作显卡的,定义了一个标准 这个标准就是我们要往固定的地址写入数据,就会显示出来 具体流程 操作显卡 -> 显卡有自己的缓存 -> 把数据写入到显存中, - > 显示数据 (显示到屏幕上) 但是那个时候是没有字的,

[Effective JavaScript 笔记] 第7条:视字符串为16位的代码单元序列

Unicode编码,基础:它为世界上所有的文字系统的每个字符单位分配一个唯一的整数,该整数介于0~1114111之间,在Unicode术语中称为代码点(code point). 和其它字符编码几乎没有任何不同(例如ASCII). 不同在于ASCII将每个索引映射为唯一的二进制表示,但Unicode允许多个不同二进制编码的代码点. 不同的编码在要求存储的字符串数量和操作速度之间进行权衡. 目前最流行的Unicode编码方式有:UTF-8,UTF-16,UTF-32. Unicode根据历史的数据,