我正在尝试使用tripleDES算法进行解密。 编码部分如下:
try
{
System.Security.Cryptography.TripleDESCryptoServiceProvider des = new System.Security.Cryptography.TripleDESCryptoServiceProvider();
des.IV = new byte[8];
System.Security.Cryptography.PasswordDeriveBytes pdb = new System.Security.Cryptography.PasswordDeriveBytes(key, new byte[-1 + 1]);
des.Key = pdb.CryptDeriveKey("RC2", "MD5", 128, new byte[8]);
byte[] encryptedBytes = Convert.FromBase64String(file);
System.IO.MemoryStream ms = new System.IO.MemoryStream(file.Length);
System.Security.Cryptography.CryptoStream decStream = new System.Security.Cryptography.CryptoStream(ms, des.CreateDecryptor(), System.Security.Cryptography.CryptoStreamMode.Write);
decStream.Write(encryptedBytes, 0, encryptedBytes.Length);
decStream.FlushFinalBlock();
byte[] plainBytes = new byte[Convert.ToInt32(ms.Length - 1) + 1];
ms.Position = 0;
ms.Read(plainBytes, 0, Convert.ToInt32(ms.Length));
decStream.Close();
return Encoding.UTF8.GetString(plainBytes);
}
catch (Exception ex)
{
throw;
}
加密文件样本
PKYjJ.ÿ×®{9ËRJOURNAL-ISSUE_6_3907-3916.tif¬ºwPS_÷ð> FM#@!$t¤ØšÐA¤ƒ¡Ð¤÷&&“]DÔ”“¢与“& * “”
K ë÷òý½ÏÜû̽sÿxgÞ5³öúœ½Ï:³Ö:gï={æØÙí à/ îÐŽ€ ÿá_àüÇAwÆþÃÿz€þÃ…þ‡ÿUÑÿb íØ¿;Šþ¯~©ÿbéÿðþeþs¿èN‡,òŸq @î?LØiðÿå«þþ7fþŸØwD(Ú±ª;ƒú;ŒÙaãŽgà œë¼£o~ë;µÞ@Àá¾uhº þÏzÑ ñÿ¶6ÎD›Ðèø„øÀ¸°˜âAÝ};OÖÕ;
¨»CPO-¨§g¨k¸×à߸8ÿú!€È¨„8WŠÕË›ø/¡ÆÇPœ ÿ¿òmòÒ¼Ðüï$(8>ðßÐwôD
L \ÂNLä<•OEO /‡I0&安培;àøÿpÆ¿|ÜÝÕb‡Ò6u®aî] AU /:5°‡{Ö{^ÒìyÜ£ëCRÏÑVj“§'JùÓc·½ ?#=ïßyÝáuĨ〜r5¹ÛúȽßþœì¥APUE $رÔîòEÃAq^ÆWŽhWŒ“A {U / $> \Mð6Q8Ü0žèÝr×ïÆTD'É•W'wßD%的UO,| N€?“âkª&安培; SDP&GT; .O÷þ± G-ÒüLŽ\μ'“îw1¹çýzJ†¿¿ZÅÓÅ'þŽÝ}ûy;#ó¨YëÕï¿3O}°øý÷?½Hq°·XKÄC:HAxÅò°&gt;d¾ŠH_q³¶X?rdŸDñŠb%n ...(Ñ :,9rð,‰d“BAA†JS#A¢FA-¬œPF ¸¨ö_¯ñ¸'ùºæôH»ö”•žÝ#'âz##gμžîy*éðrßÓ³o&lt;“ÌÿpðÙÙæU£QÉ'¯&amp;£gWþ〜a $”±2m s† èaô“KÔœÅ(¢bÙ¸¨a?¾O«ìEh½¶Í<%y3ÇR”ÿ¸¼P?çpÊ#T [9û¥úo|§º‰mÎKL“½Ç×öh?O +ú'Äëg¼¸ÒV %ÞTiùª×OI; A]îaãéíé-yÜgŸ•_¤'TE?” WNB-O׳§ÿèë;¥RqGŽdgIÌ&GT;'vðÀà†ƒ†Ì.§“î÷ÞüÄcj0Q“I&GT;Ûœ¼·/ MB
当我解密文件时,我得到例外
输入不是有效的Base-64字符串,因为它包含非基本64个字符,两个以上的填充字符或填充字符中的非法字符
如何解决这个问题?
答案 0 :(得分:2)
您的文件已压缩。一开始见PK
?它们是Phil Katz的缩写,是原始PKZip for DOS的创建者。你看到JOURNAL-ISSUE_6_3907-3916.tif
了吗?它是zip文件中包含的文件的名称。所以将它保存在某个地方并尝试用你最喜欢的程序打开拉链。