У меня есть вопрос о безопасности броска от long до int. Я боюсь, что метод, который я написал, может потерпеть неудачу в этом броске. Не могли бы вы взглянуть на приведенный ниже код и сказать, можно ли написать что-то, что могло бы избежать возможного сбоя?
Заранее спасибо.
public static string ReadDecrypted(string fileFullPath)
{
string result = string.Empty;
using (FileStream fs = new FileStream(fileFullPath, FileMode.Open, FileAccess.Read))
{
int fsLength = (int)fs.Length;
byte[] decrypted;
byte[] read = new byte[fsLength];
if (fs.CanRead)
{
fs.Read(read, 0, fsLength);
decrypted = ProtectedData.Unprotect(read, CreateEntropy(), DataProtectionScope.CurrentUser);
result = Utils.AppDefaultEncoding.GetString(decrypted, 0, decrypted.Length);
}
}
return result;
}