52 lines
1.8 KiB
C#
52 lines
1.8 KiB
C#
using System;
|
|
using System.Collections.Generic;
|
|
using System.Security.Cryptography;
|
|
using System.Text;
|
|
|
|
namespace Hashing
|
|
{
|
|
class Hasher
|
|
{
|
|
static string key = "ProftaakRH-B4";
|
|
public static string Encrypt(string text)
|
|
{
|
|
using (var md5 = new MD5CryptoServiceProvider())
|
|
{
|
|
using (var tdes = new TripleDESCryptoServiceProvider())
|
|
{
|
|
tdes.Key = md5.ComputeHash(UTF8Encoding.UTF8.GetBytes(key));
|
|
tdes.Mode = CipherMode.ECB;
|
|
tdes.Padding = PaddingMode.PKCS7;
|
|
|
|
using (var transform = tdes.CreateEncryptor())
|
|
{
|
|
byte[] textBytes = UTF8Encoding.UTF8.GetBytes(text);
|
|
byte[] bytes = transform.TransformFinalBlock(textBytes, 0, textBytes.Length);
|
|
return Convert.ToBase64String(bytes, 0, bytes.Length);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
public static string Decrypt(string cipher)
|
|
{
|
|
using (var md5 = new MD5CryptoServiceProvider())
|
|
{
|
|
using (var tdes = new TripleDESCryptoServiceProvider())
|
|
{
|
|
tdes.Key = md5.ComputeHash(UTF8Encoding.UTF8.GetBytes(key));
|
|
tdes.Mode = CipherMode.ECB;
|
|
tdes.Padding = PaddingMode.PKCS7;
|
|
|
|
using (var transform = tdes.CreateDecryptor())
|
|
{
|
|
byte[] cipherBytes = Convert.FromBase64String(cipher);
|
|
byte[] bytes = transform.TransformFinalBlock(cipherBytes, 0, cipherBytes.Length);
|
|
return UTF8Encoding.UTF8.GetString(bytes);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|