[英]How do I decode a base64 encoded string?
我正在嘗試“解碼”以下 Base64 字符串:
obfzdtcxcxlckhdxcq0KMqhkph9Uigyiaigyiaqxalbtzawueozcueew0dmo1kbpElwcvk vk1sfksfksflllaunosii fllaulppzsfllai fllppzsseqvefpppoyii ic inosity ofimainiafi ostpequiibsimostio flmaii ic flosioftppefmainitymosiogaiogaiogaiogaiogaiogaiogaiogaio flliopsioftppefmain forlosiovefmainitys
這是我對字符串本身的了解:
原始字符串首先通過以下代碼傳遞:
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.
”。
然后通過以下代碼將其轉換為 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.