C# – DES 파일 암호화 / 복호화

private string PassWord = "암호(8byte)";
 

public void EncryptFile(string ReadFilename, string WriteFilename)  //파일 암호화
{
    FileStream fsInput = new FileStream(ReadFilename, FileMode.Open, FileAccess.Read,FileShare.None);         
    FileStream fsEncrypted = new FileStream(WriteFilename, FileMode.Create, FileAccess.Write);

    DESCryptoServiceProvider DES = new DESCryptoServiceProvider();
    DES.Key = ASCIIEncoding.ASCII.GetBytes(key);
    DES.IV = ASCIIEncoding.ASCII.GetBytes(key);

    ICryptoTransform Encrypt = DES.CreateEncryptor();
    CryptoStream cryptostream = new CryptoStream(fsEncrypted, Encrypt, CryptoStreamMode.Write);

    byte[] bytearrayinput = new byte[fsInput.Length];
    fsInput.Read(bytearrayinput, 0, bytearrayinput.Length);

    cryptostream.Write(bytearrayinput, 0, bytearrayinput.Length);
    fsEncrypted.Flush();
    cryptostream.Close();
    fsInput.Close();
    fsEncrypted.Close();
}

public void DecryptFile(string ReadFilename, string WriteFilename)//파일 복호화
{
    DESCryptoServiceProvider DES = new DESCryptoServiceProvider();

    DES.Key = ASCIIEncoding.ASCII.GetBytes(key);
    DES.IV = ASCIIEncoding.ASCII.GetBytes(key);

    FileStream fsread = new FileStream(ReadFilename, FileMode.Open, FileAccess.ReadWrite,FileShare.ReadWrite);
    ICryptoTransform Decrypt = DES.CreateDecryptor();
    CryptoStream cryptostreamDecr = new CryptoStream(fsread, Decrypt, CryptoStreamMode.Read);

    StreamWriter fsDecrypted = new StreamWriter(WriteFilename);
    fsDecrypted.Write(new StreamReader(cryptostreamDecr).ReadToEnd());
    fsDecrypted.Flush();
    fsDecrypted.Close();
}

 

사용자 삽입 이미지

댓글 남기기