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
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# ,
上一个:读取程序集中的嵌入XML配置文件
下一个:c#异步调用的几种方式