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


    整理几个经常使用GUID转换成16位字符串或19位唯一字符串方法:

            /// <summary>
            /// 依据GUID获取16位的唯一字符串
            /// Author  : 付义方  
            /// </summary>
            /// <param name="guid"></param>
            /// <returns></returns>
            public static string GuidTo16String()
            {
                long i = 1;
                foreach (byte b in Guid.NewGuid().ToByteArray())
                    i *= ((int)b + 1);
                return string.Format("{0:x}", i - DateTime.Now.Ticks);
            }
            /// <summary>
            /// 依据GUID获取19位的唯一数字序列
            /// Author  : 付义方  
            /// </summary>
            /// <returns></returns>
            public static long GuidToLongID()
            {
                byte[] buffer = Guid.NewGuid().ToByteArray();
                return BitConverter.ToInt64(buffer, 0);
            }
    
            /// <summary>
            /// 生成22位唯一的数字 并发可用
            /// Author  : 付义方  
            /// </summary>
            /// <returns></returns>
            public static string GenerateUniqueID()
            {
                System.Threading.Thread.Sleep(1); //保证yyyyMMddHHmmssffff唯一
                Random d = new Random(BitConverter.ToInt32(Guid.NewGuid().ToByteArray(), 0));
                string strUnique = DateTime.Now.ToString("yyyyMMddHHmmssffff") + d.Next(1000, 9999);
                return strUnique;
            }
    
            /// <summary>
            /// 生成22位唯一的数字 并发可用
            /// Author  : 付义方  
            /// </summary>
            /// <returns></returns>
            public static string GenerateUniqueID()
            {
                System.Threading.Thread.Sleep(1); //保证yyyyMMddHHmmssffff唯一
                Random d = new Random(BitConverter.ToInt32(Guid.NewGuid().ToByteArray(), 0));
                string strUnique = DateTime.Now.ToString("yyyyMMddHHmmssffff") + d.Next(1000, 9999);
                return strUnique;
            }

    希望以上分享对初学朋友有些帮助,谢谢。
    很多其它关注付义方技术博客:http://blog.csdn.net/fuyifang
    或者直接用手机扫描二维码查看很多其它博文:
    付义方CSDN博客二维码

  • 相关阅读:
    Shiro笔记(三)shiroFilter拦截器配置原则
    Shiro笔记(二)Shiro集成SpringMVC的环境配置
    Shiro笔记(一)Shiro整体介绍
    javaNIO的总结
    Redis的工作流程
    Nginx的配置安装和使用
    Linux下java开发环境配置总结
    php 基础知识 post 和get 两种传输方式的区别
    php 高级 多台web服务器共享session的方法
    php 基础知识 SESSION 和 COOKIE 的区别
  • 原文地址:https://www.cnblogs.com/yjbjingcha/p/8340341.html
Copyright © 2020-2023  润新知