85 lines
3.0 KiB
C#
85 lines
3.0 KiB
C#
using System;
|
|
using System.Collections.Generic;
|
|
using System.Linq;
|
|
using System.Text;
|
|
using System.Threading.Tasks;
|
|
using System.IO;
|
|
using System.Security.Cryptography;
|
|
|
|
|
|
namespace PolyChat.Models
|
|
{
|
|
class FileManager
|
|
{
|
|
public static String encrypt(String toEncrypt)
|
|
{
|
|
try {
|
|
string textToEncrypt = toEncrypt;
|
|
string ToReturn = "";
|
|
string publickey = "santhosh";
|
|
string secretkey = "engineer";
|
|
byte[] secretkeyByte = { };
|
|
secretkeyByte = System.Text.Encoding.UTF8.GetBytes(secretkey);
|
|
byte[] publickeybyte = { };
|
|
publickeybyte = System.Text.Encoding.UTF8.GetBytes(publickey);
|
|
MemoryStream ms = null;
|
|
CryptoStream cs = null;
|
|
byte[] inputbyteArray = System.Text.Encoding.UTF8.GetBytes(textToEncrypt);
|
|
using (DESCryptoServiceProvider des = new DESCryptoServiceProvider())
|
|
{
|
|
ms = new MemoryStream();
|
|
cs = new CryptoStream(ms, des.CreateEncryptor(publickeybyte, secretkeyByte), CryptoStreamMode.Write);
|
|
cs.Write(inputbyteArray, 0, inputbyteArray.Length);
|
|
cs.FlushFinalBlock();
|
|
ToReturn = Convert.ToBase64String(ms.ToArray());
|
|
}
|
|
return ToReturn;
|
|
} catch (Exception ex)
|
|
{
|
|
throw new Exception(ex.Message, ex.InnerException);
|
|
}
|
|
|
|
}
|
|
|
|
|
|
public static String decrypt(String toDecrypt)
|
|
{
|
|
try
|
|
{
|
|
string textToDecrypt = toDecrypt;
|
|
string ToReturn = "";
|
|
string publickey = "santhosh";
|
|
string privatekey = "engineer";
|
|
byte[] privatekeyByte = { };
|
|
privatekeyByte = System.Text.Encoding.UTF8.GetBytes(privatekey);
|
|
byte[] publickeybyte = { };
|
|
publickeybyte = System.Text.Encoding.UTF8.GetBytes(publickey);
|
|
MemoryStream ms = null;
|
|
CryptoStream cs = null;
|
|
byte[] inputbyteArray = new byte[textToDecrypt.Replace(" ", "+").Length];
|
|
inputbyteArray = Convert.FromBase64String(textToDecrypt.Replace(" ", "+"));
|
|
using (DESCryptoServiceProvider des = new DESCryptoServiceProvider())
|
|
{
|
|
ms = new MemoryStream();
|
|
cs = new CryptoStream(ms, des.CreateDecryptor(publickeybyte, privatekeyByte), CryptoStreamMode.Write);
|
|
cs.Write(inputbyteArray, 0, inputbyteArray.Length);
|
|
cs.FlushFinalBlock();
|
|
Encoding encoding = Encoding.UTF8;
|
|
ToReturn = encoding.GetString(ms.ToArray());
|
|
}
|
|
return ToReturn;
|
|
}
|
|
catch (Exception ae)
|
|
{
|
|
throw new Exception(ae.Message, ae.InnerException);
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
}
|