Files
Proftaak-RH-B4/Hashing/Hasher.cs
Sem van der Hoeven 3e5f6e46c4 progress on validation
2020-09-30 16:22:57 +02:00

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);
}
}
}
}
}
}