我創建一個學校項目,老師說隱私的東西,我正在做一個加密工具,但總是在EncryptFile(文件,密碼)的代碼返回我這個錯誤不能轉換成「串」 C#
不能轉換System.Collections.Generic.List爲「串」
這是函數從具體列出目錄中的所有文件列出的字符串,而忽略例外
public List<string> GetFiles(string path, string pattern)
{
var files = new List<string>();
try
{
files.AddRange(Directory.GetFiles(path, pattern, SearchOption.TopDirectoryOnly));
foreach (var directory in Directory.GetDirectories(path))
files.AddRange(GetFiles(directory, pattern));
}
catch (Exception ex)
{
// unnautorized files
}
return files;
string password = ChooseUrPass.Text
EncryptFile(files, password); //here happen the error
}
如何繞過此錯誤?對不起,如果它是一個壞的問題,我是新手
如果那裏有需要的功能是那麼的文件加密
public void EncryptFile(string file, string password)
{
byte[] bytesToBeEncrypted = File.ReadAllBytes(file);
byte[] passwordBytes = Encoding.UTF8.GetBytes(password);
// Hash the password with SHA256
passwordBytes = SHA256.Create().ComputeHash(passwordBytes);
byte[] bytesEncrypted = AES_Encrypt(bytesToBeEncrypted, passwordBytes);
File.WriteAllBytes(file, bytesEncrypted);
System.IO.File.Move(file, file+".SafeFile");
}
感謝您的時間
我看到你的'GetFiles' –
可達代碼你傳遞一個列表的東西,需要一個字符串......此外,像@AleksAndreev指出,該方法不會甚至可以被稱爲那裏。 –
錯誤非常明顯。 'EncryptFile(字符串文件,字符串密碼)'期待一個包含文件名的字符串,並且你傳遞了'files',這是一個包含多個文件名的'List'。什麼部分不清楚? 'string'與'List '不一樣。 –