49 lines
1.8 KiB
C#
49 lines
1.8 KiB
C#
using System;
|
|
using System.Collections.Generic;
|
|
using System.Text;
|
|
using System.Security.Cryptography;
|
|
|
|
namespace SafeNetLib
|
|
{
|
|
public class Encryption
|
|
{
|
|
private static string key = "safemobileTriple";
|
|
|
|
public static string Encrypt(string input)
|
|
{
|
|
return Encrypt(input, key);
|
|
}
|
|
|
|
public static string Encrypt(string input, string key)
|
|
{
|
|
byte[] inputArray = UTF8Encoding.UTF8.GetBytes(input);
|
|
TripleDESCryptoServiceProvider tripleDES = new TripleDESCryptoServiceProvider();
|
|
tripleDES.Key = UTF8Encoding.UTF8.GetBytes(key);
|
|
tripleDES.Mode = CipherMode.ECB;
|
|
tripleDES.Padding = PaddingMode.PKCS7;
|
|
ICryptoTransform cTransform = tripleDES.CreateEncryptor();
|
|
byte[] resultArray = cTransform.TransformFinalBlock(inputArray, 0, inputArray.Length);
|
|
tripleDES.Clear();
|
|
return Convert.ToBase64String(resultArray, 0, resultArray.Length);
|
|
}
|
|
|
|
public static string Decrypt(string input)
|
|
{
|
|
return Decrypt(input, key);
|
|
}
|
|
|
|
public static string Decrypt(string input, string key)
|
|
{
|
|
byte[] inputArray = Convert.FromBase64String(input);
|
|
TripleDESCryptoServiceProvider tripleDES = new TripleDESCryptoServiceProvider();
|
|
tripleDES.Key = UTF8Encoding.UTF8.GetBytes(key);
|
|
tripleDES.Mode = CipherMode.ECB;
|
|
tripleDES.Padding = PaddingMode.PKCS7;
|
|
ICryptoTransform cTransform = tripleDES.CreateDecryptor();
|
|
byte[] resultArray = cTransform.TransformFinalBlock(inputArray, 0, inputArray.Length);
|
|
tripleDES.Clear();
|
|
return UTF8Encoding.UTF8.GetString(resultArray);
|
|
}
|
|
}
|
|
}
|