Имею ФАЙЛ с именем Sample. Он может быть любого типа (.txt/.doc/.docx/.pdf/....). Теперь я хочу, чтобы установил пароль для этого файла. Если это возможно, просто помогите мне с кодом.Как защитить файл?
0
A
ответ
0
Вы можете зашифровать файл, используя свой собственный Passwort или сгенерированных ключей (см documentation)
Пример из MSDN:
class Class1
{
// Call this function to remove the key from memory after use for security
[System.Runtime.InteropServices.DllImport("KERNEL32.DLL", EntryPoint="RtlZeroMemory")]
public static extern bool ZeroMemory(IntPtr Destination, int Length);
// Function to Generate a 64 bits Key.
static string GenerateKey()
{
// Create an instance of Symetric Algorithm. Key and IV is generated automatically.
DESCryptoServiceProvider desCrypto =(DESCryptoServiceProvider)DESCryptoServiceProvider.Create();
// Use the Automatically generated key for Encryption.
return ASCIIEncoding.ASCII.GetString(desCrypto.Key);
}
static void EncryptFile(string sInputFilename,
string sOutputFilename,
string sKey)
{
FileStream fsInput = new FileStream(sInputFilename,
FileMode.Open,
FileAccess.Read);
FileStream fsEncrypted = new FileStream(sOutputFilename,
FileMode.Create,
FileAccess.Write);
DESCryptoServiceProvider DES = new DESCryptoServiceProvider();
DES.Key = ASCIIEncoding.ASCII.GetBytes(sKey);
DES.IV = ASCIIEncoding.ASCII.GetBytes(sKey);
ICryptoTransform desencrypt = DES.CreateEncryptor();
CryptoStream cryptostream = new CryptoStream(fsEncrypted,
desencrypt,
CryptoStreamMode.Write);
byte[] bytearrayinput = new byte[fsInput.Length];
fsInput.Read(bytearrayinput, 0, bytearrayinput.Length);
cryptostream.Write(bytearrayinput, 0, bytearrayinput.Length);
cryptostream.Close();
fsInput.Close();
fsEncrypted.Close();
}
static void DecryptFile(string sInputFilename,
string sOutputFilename,
string sKey)
{
DESCryptoServiceProvider DES = new DESCryptoServiceProvider();
//A 64 bit key and IV is required for this provider.
//Set secret key For DES algorithm.
DES.Key = ASCIIEncoding.ASCII.GetBytes(sKey);
//Set initialization vector.
DES.IV = ASCIIEncoding.ASCII.GetBytes(sKey);
//Create a file stream to read the encrypted file back.
FileStream fsread = new FileStream(sInputFilename,
FileMode.Open,
FileAccess.Read);
//Create a DES decryptor from the DES instance.
ICryptoTransform desdecrypt = DES.CreateDecryptor();
//Create crypto stream set to read and do a
//DES decryption transform on incoming bytes.
CryptoStream cryptostreamDecr = new CryptoStream(fsread,
desdecrypt,
CryptoStreamMode.Read);
//Print the contents of the decrypted file.
StreamWriter fsDecrypted = new StreamWriter(sOutputFilename);
fsDecrypted.Write(new StreamReader(cryptostreamDecr).ReadToEnd());
fsDecrypted.Flush();
fsDecrypted.Close();
}
static void Main()
{
// Must be 64 bits, 8 bytes.
// Distribute this key to the user who will decrypt this file.
string sSecretKey;
// Get the Key for the file to Encrypt.
sSecretKey = GenerateKey();
// For additional security Pin the key.
GCHandle gch = GCHandle.Alloc(sSecretKey,GCHandleType.Pinned);
// Encrypt the file.
EncryptFile(@"C:\MyData.txt",
@"C:\Encrypted.txt",
sSecretKey);
// Decrypt the file.
DecryptFile(@"C:\Encrypted.txt",
@"C:\Decrypted.txt",
sSecretKey);
// Remove the Key from memory.
ZeroMemory(gch.AddrOfPinnedObject(), sSecretKey.Length * 2);
gch.Free();
}
}
}
0
Вы не можете установить пароль на каждый файл, чтобы ограничить его от открытия. Однако вы можете защитить содержимое файла, используя шифрование.
Смотрите эту ссылку для шифрования & Расшифровка в C# http://support.microsoft.com/kb/307010
Смежные вопросы
- 1. Как защитить файл PHP?
- 2. Как защитить файл конфигурации
- 3. Как защитить файл Swagger.yaml?
- 4. Как защитить файл лицензии?
- 5. Как защитить файл php
- 6. Как защитить файл SAM
- 7. защитить файл
- 8. Как защитить файл "hibernate.cfg.xml"? (Nhibernate)
- 9. Как защитить файл конфигурации webapplication
- 10. WAMP: Как защитить определенный файл?
- 11. Защитить dll-файл C++
- 12. Защитить файл от изменения
- 13. защитить файл, используя .htaccess
- 14. Как защитить файл APK, чтобы защитить его от декомпиляции
- 15. Как защитить файл базы данных Android?
- 16. Как защитить этот файл cookie пользователя?
- 17. Как защитить .apk файл от чтения
- 18. Как защитить файл MDF SQL Server 2005
- 19. Как защитить файл конфигурации в PHP?
- 20. Как защитить файл .bash_history в Linux
- 21. Как защитить файл cookie CAS-сервера TGT?
- 22. Как защитить исходный файл при отладке?
- 23. Как защитить файл swf от декомпиляции?
- 24. Как защитить файл python от tornado?
- 25. Как сохранить/защитить файл от изменения?
- 26. Как защитить файл javascript от admin?
- 27. Как защитить AndroidManifest.xml файл Android-приложения?
- 28. Как защитить файл сценария процессора формы?
- 29. защитить файл xml на сервере
- 30. защитить файл js download (Hack)
Добро пожаловать в Stackoverflow, ты пытался _anything_ до сих пор? Покажите свои усилия в первую очередь. Пожалуйста, прочитайте [FAQ] и [ask] также .. –
http://stackoverflow.com/questions/740837/how-to-create-a-password-protected-file-in-c-sharp –