我有一个 XML 文件,其中包含有关stringConnection
使用此方法解密的参数的信息:
public void DecryptFile(string sInputFileName, string sOutputFileName, string sKey)
{
DESCryptoServiceProvider DES = new DESCryptoServiceProvider();
DES.Key = ASCIIEncoding.ASCII.GetBytes(sKey);
DES.IV = ASCIIEncoding.ASCII.GetBytes(sKey);
FileStream fsread = new FileStream(sInputFileName, FileMode.Open, FileAccess.Read);
ICryptoTransform desdecrypt = DES.CreateDecryptor();
CryptoStream cryptostreamDecr = new CryptoStream(fsread, desdecrypt, CryptoStreamMode.Read);
//Print result
StreamWriter fsDecrypted = new StreamWriter(sOutputFileName);
//In this point ReadToEnd return the final xml result decrypted
fsDecrypted.Write(new StreamReader(cryptostreamDecr).ReadToEnd());
fsDecrypted.Flush();
fsDecrypted.Close();
fsread.Close();
fsread.Dispose();
}
结果将是这样的:
<?xml version="1.0" standalone="yes"?>
<NewDataSet>
<TU>
<BD>DataBaseName</BD>
<SR>ServerName</SR>
<USR>UserDB</USR>
<CONT>Pass</CONT>
<EMP>codCompany</EMP>
<EMPDES>companyName</EMPDES>
<SUC>codLocal</SUC>
</TU>
</NewDataSet>
但ReadToEnd
不返回我的 XML 文件的最后一个标签,如下所示:
<?xml version="1.0" standalone="yes"?>
<NewDataSet>
<TU>
<BD>DataBaseName</BD>
<SR>ServerName</SR>
<USR>UserDB</USR>
<CONT>Pass</CONT>
<EMP>codCompany</EMP>
<EMPDES>companyName</EMPDES>
<SUC>codLocal</SUC>
</TU>
</NewDataSet
我的方法有什么问题?