今天准备采集一个网站,在分析他的数据的接口的时候,发现提交及返回的数据都是经过 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);

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