当前位置:编程学习 > C#/ASP.NET >>

Base24编码C#类库

Base24编码一般用于序列号的生成,在Base64编码的基础上去掉了特殊字符和容易混淆的字符,如1和l,0和O,Winxp和Office的序列号都是基于此编码(用25个base 24字符表示114 bits)。其基本原理是使用7个base24字符编码32bits,7个base24字符的数据范围是24的7次方也就是4,586,471,424,而32bits的数据范围是:4,294,967,296。能够包括所有数据且有一定余量。下面给出C#实现:

 

  1 //文件:Base24Encoding.cs
  2 //作者:blueqt
  3 //日期:2010-01-17
  4 //版本:1.0
  5 namespace System.Text
  6 {
  7     /// <summary>
  8     /// 表示 base 24 编码
  9     /// </summary>
 10     public class Base24Encoding
 11     {
 12         /// <summary>
 13         /// 表示 base 24 编码的默认实现使用的字符映射表:BCDFGHJKMPQRTVWXY2346789
 14         /// </summary>
 15         public const string DefaultMap = "BCDFGHJKMPQRTVWXY2346789";
 16 
 17         private static Base24Encoding defaultInstance;
 18 
 19         private string map;
 20 
 21         /// <summary>
 22         /// 默认构造函数
 23         /// </summary>
 24         public Base24Encoding()
 25         {
 26             this.map = DefaultMap;
 27         }
 28 
 29         /// <summary>
 30         /// 获取 base 24 编码的默认实现
 31         /// </summary>
 32&n
补充:软件开发 , C# ,
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,