===============================================================================
南京工程学院 - 校园网802.1X客户端 - 项目文档
-------------------------------------------------------------------------------
参考AGanNo2的相关介绍,在此将版本号加密/解密步骤整理如下。

[H3C版本号加密流程]

选取任意32位随机数,并生成字符串形式的密钥
	uint32_t   randam;
	char       key[8+1];
	sprintf(key, "%08x", randam);


加密步骤:
char version[16]="EN V2.40-0335";
     |
     |   异或
     |《———————— key[]   (例如取randam=0x12345678,则字符串key[]为"12345678")
     |
version[16]: "LK%W3+19$5624  "
     |
     |   将整数randam附加到version[16]之后,组成20字节
     |《—————————————————————————————————————————————
     |
version[20]: "LK%W3+19$5624   4Vx"
     |
     |   异或
     |《——————— "HuaWei3COM1X"
     |
version[20]: "; <s23IJ%?C       "
     |
     |   按照Base64格式编码,输出可读的ASCII字符串
     |《——————————————————————————————————————————
     |
最后生成的28字节版本号为:
Rw0tZQEjdzIzSUolP0MNOyA8EHM=




[“异或”运算的细节]
1、每个密钥被按正序、逆序使用两遍
2、密钥会被扩展为与待加密数据长度相同

使用密钥key[]="12345678"加密"EN V2.40-0335":

	"EN V2.40-0335   "
	"1234567812345678"
XOR	"8765432187654321"
————————————————————————————————
	"LK%W3+19$5624   "



使用密钥"HuaWei3COM1X"加密"LK%W3+19$5624   4Vx":

	"LK%W3+19$5624   4Vx"
	"HuaWei3COM1XHuaWei3C"
XOR	"C3ieWauHX1MOC3ieWauH"
————————————————————————————————
	"; <s23IJ%?C       "




[H3C认证服务器解读版本号流程]

28字节版本号秘文
   |
   |  Base64解码
   |《—————————————
   |
verison[20]
   |
   |  异或
   |《———————— "HuaWei3COM1X"
   |
version[20]
   |  \ 
   |   \
 前16字节  取出末尾4字节,即randam
   |       |
   |       |
   |       |
   |  异或   |
   |《—————— key[]
   |
   |
还原成版本号字符串"EN V2.40-0335"

===============================================================================