반응형
base64로 인코딩 된 문자열을 어떻게 디코딩합니까?
다음 Base64 문자열을 "디코딩"하려고합니다.
OBFZDTcPCxlCKhdXCQ0kMQhKPh9uIgYIAQxALBtZAwUeOzcdcUEeW0dMO1kbPElWCV1ISFFKZ0kdWF1
이것이 내가 문자열 자체에 대해 알고있는 것입니다.
원래 문자열은 먼저 다음 코드를 통해 전달됩니다.
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();
.
참고 URL : https://stackoverflow.com/questions/7134837/how-do-i-decode-a-base64-encoded-string
반응형
'Programing' 카테고리의 다른 글
비어 있지 않은 디렉토리를 제거하십시오. (0) | 2020.04.11 |
---|---|
CSS에서 첫 번째 문자를 대문자로 만듭니다. (0) | 2020.04.11 |
어디에 vs HAVING (0) | 2020.04.11 |
이미지 아래의 공백 제거 (0) | 2020.04.11 |
여러 단계 항목에 대한 자식에서 치명적인 오류가 발생합니다. (0) | 2020.04.11 |