1. We have moved from vBulletin to XenForo and you are viewing the site in the middle of the move. Though the functional aspect of everything is working fine, we are still working on other changes including the new design on Xenforo.
    Dismiss Notice

Simple Encryption/Decryption using C#

Discussion in 'C#' started by naimish, Jun 30, 2009.

  1. naimish

    naimish New Member

    Encryption/Decryption file, string etc using C#

    Code:
    using System;   
    using System.Collections.Generic;   
    using System.Text;   
    using System.Security.Cryptography;   
    using System.IO;   
      
    namespace BHI.Rats   
    {   
        /// <summary>   
        /// RatsEncryptionManager is responsible for encrypting and decrypting the files.   
        /// </summary>   
        public static class  RatsEncryptionManager   
        {   
            private const string passKey = "c0ntr0l1";   
      
            /// <summary>   
            /// Decrypts the input file (strInputFileName) and creates a new decrypted file (strOutputFileName)   
            /// </summary>   
            /// <param name="strInputFileName">input file name</param>   
            /// <param name="strOutputFileName">output file name</param>   
            public static void DecryptFiletoFile(string strInputFileName, string strOutputFileName)   
            {   
                string strFileData = "";   
                using (FileStream inputStream = new FileStream(strInputFileName, FileMode.Open, FileAccess.Read))   
                {   
                    DESCryptoServiceProvider cryptic = new DESCryptoServiceProvider();   
      
                    cryptic.Key = ASCIIEncoding.ASCII.GetBytes(passKey);   
                    cryptic.IV = ASCIIEncoding.ASCII.GetBytes(passKey);   
      
                    CryptoStream crStream = new CryptoStream(inputStream, cryptic.CreateDecryptor(), CryptoStreamMode.Read);   
      
                    StreamReader reader = new StreamReader(crStream);   
      
                    strFileData = reader.ReadToEnd();   
      
                    reader.Close();   
                    inputStream.Close();   
                }   
      
                if (File.Exists(strOutputFileName))   
                {   
                    File.Delete(strOutputFileName);   
                }   
                using (StreamWriter outputStream = new StreamWriter(strOutputFileName))   
                {   
                    outputStream.Write(strFileData, 0, strFileData.Length);   
      
                    outputStream.Close();   
                }   
      
            }   
            /// <summary>   
            /// Encrypts the input file(strInputFileName) and creates a new encrypted file(strOutputFileName)   
            /// </summary>   
            /// <param name="strInputFileName">input file name</param>   
            /// <param name="strOutputFileName">output file name</param>   
            public static void EncryptFiletoFile(string strInputFileName, string strOutputFileName)   
            {   
                byte[] fileBuffer;   
      
                using (FileStream inputStream = new FileStream(strInputFileName, FileMode.Open, FileAccess.Read))   
                {   
                    fileBuffer = new byte[inputStream.Length];   
      
                    inputStream.Read(fileBuffer, 0, fileBuffer.GetLength(0));   
      
      
                    inputStream.Close();   
                }   
                if (File.Exists(strOutputFileName))   
                {   
                    File.Delete(strOutputFileName);   
                }   
                using (FileStream outputStream = new FileStream(strOutputFileName, FileMode.OpenOrCreate, FileAccess.ReadWrite))   
                {   
                    DESCryptoServiceProvider cryptic = new DESCryptoServiceProvider();   
      
                    cryptic.Key = ASCIIEncoding.ASCII.GetBytes(passKey);   
                    cryptic.IV = ASCIIEncoding.ASCII.GetBytes(passKey);   
      
                    CryptoStream crStream = new CryptoStream(outputStream, cryptic.CreateEncryptor(), CryptoStreamMode.Write);   
      
                    crStream.Write(fileBuffer, 0, fileBuffer.Length);   
      
                    crStream.Close();   
                }   
            }   
            /// <summary>   
            /// Encrypts the input string and creates a new encrypted file(strOutputFileName)   
            /// </summary>   
            /// <param name="strInputString">input string name</param>   
            /// <param name="strOutputFileName">output file name</param>   
            public static void EncryptStringtoFile(string strInputString, string strOutputFileName)   
            {   
                if (File.Exists(strOutputFileName))   
                {   
                    File.Delete(strOutputFileName);   
                }   
                using (FileStream outputStream = new FileStream(strOutputFileName, FileMode.OpenOrCreate, FileAccess.ReadWrite))   
                {   
                    DESCryptoServiceProvider cryptic = new DESCryptoServiceProvider();   
      
                    cryptic.Key = ASCIIEncoding.ASCII.GetBytes(passKey);   
                    cryptic.IV = ASCIIEncoding.ASCII.GetBytes(passKey);   
      
                    CryptoStream crStream = new CryptoStream(outputStream, cryptic.CreateEncryptor(), CryptoStreamMode.Write);   
      
                    byte[] buffer = ASCIIEncoding.ASCII.GetBytes(strInputString);   
      
                    crStream.Write(buffer, 0, buffer.Length);   
      
                    crStream.Close();   
                }   
            }   
            /// <summary>   
            /// Decrypts the input file (strInputFileName) and creates a new decrypted file (strOutputFileName)   
            /// </summary>   
            /// <param name="strInputFileName">input file name</param>   
            public static string DecryptFiletoString(string strInputFileName)   
            {   
                string strFileData = "";   
                using (FileStream inputStream = new FileStream(strInputFileName, FileMode.Open, FileAccess.Read))   
                {   
                    DESCryptoServiceProvider cryptic = new DESCryptoServiceProvider();   
      
                    cryptic.Key = ASCIIEncoding.ASCII.GetBytes(passKey);   
                    cryptic.IV = ASCIIEncoding.ASCII.GetBytes(passKey);   
      
                    CryptoStream crStream = new CryptoStream(inputStream, cryptic.CreateDecryptor(), CryptoStreamMode.Read);   
      
                    StreamReader reader = new StreamReader(crStream);   
      
                    strFileData = reader.ReadToEnd();   
      
                    reader.Close();   
                    inputStream.Close();   
                }   
      
                return strFileData;   
            }   
        }   
    }
     
    Last edited by a moderator: Jun 30, 2009
  2. SaswatPadhi

    SaswatPadhi ~ Б0ЯИ Τ0 С0δЭ ~

    What do you want ?? Did you want to post an article ?
    'cuz it doesn't look like you have a query.
     
  3. naimish

    naimish New Member

    Actually this is a solution to the given problem, I cud have write an article, but I don't know how can I, so posted it here :(

    Any idea hw can I start article here ?
     
  4. SaswatPadhi

    SaswatPadhi ~ Б0ЯИ Τ0 С0δЭ ~

    Near the top of the page, you can see "My Go4Expert", "G4EF Links" etc...

    Click on "G4EF Links" and select "Articles and Tutorials". Then appropriate go to the sub-forum under which the article should be posted (for this one, it's Programming -> C#).
    Then click on "Submit new article" near the top of the page.

    Write your article and hit post. :)

    AND, PLEASE POST YOUR CODE INSIDE CODE-BLOCKS. I did it for you in your first post in this thread. :)
     
  5. naimish

    naimish New Member

    Ohh, got it now, I have clicked on Post New Thread by mistakely :) Thanks for your clarification.
     
  6. shabbir

    shabbir Administrator Staff Member

    Moved to Articles for you as of now.
     
  7. naimish

    naimish New Member

    Thank you very much Shabbir, could you also accept my invitation :) LinkedIn.
     
  8. shabbir

    shabbir Administrator Staff Member

  9. naimish

    naimish New Member

    Ohh, Thanks Shabbir :)
     
  10. satyedra pal

    satyedra pal New Member

    Encryption and decryption is used in cryptography.The Mean of cryptography is secret writing.Encryption is used to encrypt(convert) the data or file in a secure or pseudo format by sender. Receiver receive it and decrypt it by using a key suggested by sender
     
  11. kien_vn

    kien_vn New Member

    This article is very simple and usefull
     
  12. alternoboy

    alternoboy New Member

    how to I post a question?
     
  13. alternoboy

    alternoboy New Member

    Can anybody help me with this?
    I have a bunch of numbers separated with a space in a text box.
    I want to store them into an array?
     

Share This Page