今天准备采集一个网站,在分析他的数据的接口的时候,发现提交及返回的数据都是经过 js 加密的。然后我就开始把 js 转成 C# 的代码,运行后发现返回的数据不一样,我就在想他是不是 Base64 过的,然后就解开了…

附上代码:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
/// <summary>
/// Base64编码及解码
/// </summary>
public class Base64
{
public static string Encode(string data)
{
try
{
byte[] dataByte = new byte[data.Length];
dataByte = System.Text.Encoding.UTF8.GetBytes(data);
string encodedData = Convert.ToBase64String(dataByte);
return encodedData;
}
catch (Exception e)
{

throw new Exception(e.Message);
}
}

/// <summary>
/// 解码(UTF8)
/// </summary>
/// <param name="data"></param>
/// <returns></returns>
public static string Decode(string data)
{
try
{
byte[] outputb = Convert.FromBase64String(data);
string result = System.Text.Encoding.UTF8.GetString(outputb);
return result;
}
catch (Exception e)
{
throw new Exception(se.Message);
}
}
}

使用方法:

1
2
string encodeStr = Base64.Encode("何湘辉");
string decodeStr = Base64.Decode(encodeStr);

这是一篇过去很久的文章,其中的信息可能已经有所发展或是发生改变。