短的 Guid 帮助类
2019-03-28 12:20 音乐让我说 阅读(382) 评论(0) 收藏 举报直接贴代码了:
/// <summary> /// 短的 Guid 帮助类 /// </summary> public class ShortGuidHelper { #region 方案1(不太推荐了) ///// <summary> ///// 得到短的 Guid ///// </summary> ///// <returns></returns> //public static string GetShortGuid() //{ // string base64Guid = System.Convert.ToBase64String(Guid.NewGuid().ToByteArray()); // string guidString = StringExtension.ReplaceNonEnAndNonNumber(base64Guid, // RandomUtils.RandomChar().ToString()); // return guidString; //guidString 的长度为 24 //} #endregion #region 方案2 /// <summary> /// 获取新的长度为 22 的 Guid 字符串。 /// </summary> /// <returns></returns> public static string GetNewShortId() { return Encode(System.Guid.NewGuid()); } /// <summary> /// 编码一个 Guid 成 22 位长度的字符串 /// </summary> /// <param name="guid"></param> /// <returns></returns> public static string Encode(Guid guid) { string encoded = Convert.ToBase64String(guid.ToByteArray()); encoded = encoded .Replace("/", "_") .Replace("+", "-"); return encoded.Substring(0, 22); } /// <summary> /// 解码一个 22 位长度的字符串成 Guid /// </summary> /// <param name="value"></param> /// <returns></returns> public static Guid Decode(string value) { value = value .Replace("_", "/") .Replace("-", "+"); byte[] buffer = Convert.FromBase64String(value + "=="); return new Guid(buffer); } #endregion }
谢谢浏览!
作者:音乐让我说(音乐让我说 - 博客园)
出处:http://music.cnblogs.com/
文章版权归本人所有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
浙公网安备 33010602011771号