暗号解読ツール
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 "";
}
}
}
}