101 lines
2.9 KiB
HTML
101 lines
2.9 KiB
HTML
|
|
<html>
|
|||
|
|
<head> <meta http-equiv="content-type" content="text/html;charset=UTF-8">
|
|||
|
|
<title>NJIT 802.1X Client -- Documents</title>
|
|||
|
|
</head>
|
|||
|
|
<body>
|
|||
|
|
<pre>
|
|||
|
|
===============================================================================
|
|||
|
|
南京工程学院 - 校园网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"
|
|||
|
|
|
|||
|
|
===============================================================================
|
|||
|
|
</pre>
|
|||
|
|
</body>
|
|||
|
|
</html>
|