簡體   English   中英

如何解碼 base64 編碼的字符串?

[英]How do I decode a base64 encoded string?

我正在嘗試“解碼”以下 Base64 字符串:

obfzdtcxcxlckhdxcq0KMqhkph9Uigyiaigyiaqxalbtzawueozcueew0dmo1kbpElwcvk vk1sfksfksflllaunosii fllaulppzsfllai fllppzsseqvefpppoyii ic inosity ofimainiafi ostpequiibsimostio flmaii ic flosioftppefmainitymosiogaiogaiogaiogaiogaiogaiogaiogaio flliopsioftppefmain forlosiovefmainitys

這是我對字符串本身的了解:

  1. 原始字符串首先通過以下代碼傳遞:

     private static string m000493(string p0, string p1) { StringBuilder builder = new StringBuilder(p0); StringBuilder builder2 = new StringBuilder(p1); StringBuilder builder3 = new StringBuilder(p0.Length); int num = 0; Label_0084: while (num < builder.Length) { int num2 = 0; while (num2 < p1.Length) { if ((num == builder.Length) || (num2 == builder2.Length)) { MessageBox.Show("EH?"); goto Label_0084; } char ch = builder[num]; char ch2 = builder2[num2]; ch = (char)(ch ^ ch2); builder3.Append(ch); num2++; num++; } } return m0001cd(builder3.ToString()); }

    代碼中的p1部分應該是字符串“ _p0lizei. ”。

  2. 然后通過以下代碼將其轉換為 Base64 字符串:

     private static string m0001cd(string p0) { string str2; try { byte[] buffer = new byte[p0.Length]; str2 = Convert.ToBase64String(Encoding.UTF8.GetBytes(p0)); } catch (Exception exception) { throw new Exception("Error in base64Encode" + exception.Message); } return str2; }

問題是,如何解碼 Base64 字符串,以便找出原始字符串是什么?

簡單的:

byte[] data = Convert.FromBase64String(encodedString);
string decodedString = Encoding.UTF8.GetString(data);

m000493方法似乎執行某種 XOR 加密。 這意味着可以使用相同的方法對文本進行編碼和解碼。 您所要做的就是反轉m0001cd

string p0 = Encoding.UTF8.GetString(Convert.FromBase64String("OBFZDT..."));

string result = m000493(p0, "_p0lizei.");
//    result == "gaia^unplugged^Ta..."

return m0001cd(builder3.ToString()); 改為return builder3.ToString(); .

    // Decode a Base64 string to a string
    public static string DecodeBase64(string value)
    {
        if(string.IsNullOrEmpty(value))
            return string.Empty;
        var valueBytes = System.Convert.FromBase64String(value);
        return System.Text.Encoding.UTF8.GetString(valueBytes);
    }

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM