暗号解読ツール

5946 ワード

using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

using System.Security.Cryptography;



namespace  

{

    class  

    {

        public static string EncryptDES3(string original, string password)

        {

            if ((original == null) || (original == ""))

            {

                return "";

            }

            if ((password == null) || (password == ""))

            {

                password = "secretpassword1!";

            }

            byte[] buffer = new MD5CryptoServiceProvider().ComputeHash(Encoding.Unicode.GetBytes(password));

            TripleDESCryptoServiceProvider provider = new TripleDESCryptoServiceProvider

            {

                Key = buffer,

                Mode = CipherMode.ECB

            };

            byte[] bytes = Encoding.Unicode.GetBytes(original);

            string str = Convert.ToBase64String(provider.CreateEncryptor().TransformFinalBlock(bytes, 0, bytes.Length));

            provider = null;

            return str;

        }



        public static string DecryptDES3(string original, string password)

        {

            if ((original == null) || (original == ""))

            {

                return "";

            }

            if ((password == null) || (password == ""))

            {

                password = "secretpassword1!";

            }

            byte[] buffer = new MD5CryptoServiceProvider().ComputeHash(Encoding.Unicode.GetBytes(password));

            TripleDESCryptoServiceProvider provider = new TripleDESCryptoServiceProvider

            {

                Key = buffer,

                Mode = CipherMode.ECB

            };

            try

            {

                byte[] inputBuffer = Convert.FromBase64String(original);

                string str = Encoding.Unicode.GetString(provider.CreateDecryptor().TransformFinalBlock(inputBuffer, 0, inputBuffer.Length));

                provider = null;

                return str;

            }

            catch

            {

                MessageBox.Show("");

                return "";

            }

        }



 



 





    }

}