[C#.NET] AES를 통한 파일 암호화 구현 예제
AES를 통한 파일을 암호화하는 방법에 관해 논해보겠습니다.
C#을 통해 파일을 암호화하는 방법입니다.
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Security.Cryptography;
using System.Security;
using System.IO;namespace ConsoleApplication1
{
class Program
{
// Rfc2898DeriveBytes constants:
public readonly byte[] salt = new byte[] { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 };
// Must be at least eight bytes. MAKE THIS SALTIER!
public const int iterations = 1042; // Recommendation is >= 1000.
public static void Main(string[] args)
{
}
복호화(Encrypt)
{
try
{
string password = @"myKey123"; // Your Key Here
UnicodeEncoding UE = new UnicodeEncoding();
byte[] key = UE.GetBytes(password);
string cryptFile = outputFile;
FileStream fsCrypt = new FileStream(cryptFile, FileMode.Create);
RijndaelManaged RMCrypto = new RijndaelManaged();
CryptoStream cs = new CryptoStream(fsCrypt,
RMCrypto.CreateEncryptor(key, key),
CryptoStreamMode.Write);
FileStream fsIn = new FileStream(inputFile, FileMode.Open);
int data;
while ((data = fsIn.ReadByte()) != -1)
cs.WriteByte((byte)data);
fsIn.Close();
cs.Close();
fsCrypt.Close();
}
catch
{
}
}
부호화(Decrypt)
///</summary>
///<param name="inputFile"></param>
///<param name="outputFile"></param>
public static void DecryptFile(string inputFile, string outputFile)
{
{
string password = @"myKey123"; // Your Key Here
UnicodeEncoding UE = new UnicodeEncoding();
byte[] key = UE.GetBytes(password);
FileStream fsCrypt = new FileStream(inputFile, FileMode.Open);
RijndaelManaged RMCrypto = new RijndaelManaged();
CryptoStream cs = new CryptoStream(fsCrypt,
RMCrypto.CreateDecryptor(key, key),
CryptoStreamMode.Read);
FileStream fsOut = new FileStream(outputFile, FileMode.Create);
int data;
while ((data = cs.ReadByte()) != -1)
fsOut.WriteByte((byte)data);
fsOut.Close();
cs.Close();
fsCrypt.Close();
}
}
'소프트웨어(SW) > MS - Visual C#.NET' 카테고리의 다른 글
[C#.NET] 동적 컨트롤 제어에 관한 방법 (2) | 2014.02.02 |
---|---|
[C#.NET] DirectoryInfo - 디렉토리 내 파일 무시하고 강제 삭제 (2) | 2013.12.16 |
[ExcelObj].NET 개발자의 관점에서 파악한 Excel 개체 모델 - VS2012기준 (2) | 2013.08.11 |
[ExcelObj].NET 개발자의 관점에서 파악한 Excel 개체 모델 - VS2003기준 (2) | 2013.08.11 |
[C#] 하드웨어 정보 가져오기 - 구현 방법 (2) | 2013.08.04 |