HRC123
جمعه 13 فروردین 1400, 17:00 عصر
سلام بچه ها من تو یه ویندوز اپلیکشن می حوام اطلاعات کاربرام کد شده تو دیتا بیس ذخیره بشن از کلاس زیر برای کد گذاری استفاده کردم البته کلاس رو آماده گرفتم خودم ننوشتم
using System;
using System.Security.Cryptography;
using System.Text;
namespace encript
{
public class CryptoEngine
{
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, 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);
}
}
}
انکریپشن رو درست انحجام می ده ولی تو جمش هر متنی باشه ایراد میگریره که
System.FormatException: 'Invalid character in a Base-64 string.'
برای کد کردم اینجوری نوشتم درست انجام می ده
txtuser.Text = CryptoEngine.Encrypt(txtpass.Text, "sblw-3hn8-sqoy19");
واسه دیکد این که همش غلط میگیره
txtuser.Text = CryptoEngine.Decrypt(txtpass.Text, "sblw-3hn8-sqoy19");
میشه لطفا راهنماییم کنید؟
تشکر
using System;
using System.Security.Cryptography;
using System.Text;
namespace encript
{
public class CryptoEngine
{
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, 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);
}
}
}
انکریپشن رو درست انحجام می ده ولی تو جمش هر متنی باشه ایراد میگریره که
System.FormatException: 'Invalid character in a Base-64 string.'
برای کد کردم اینجوری نوشتم درست انجام می ده
txtuser.Text = CryptoEngine.Encrypt(txtpass.Text, "sblw-3hn8-sqoy19");
واسه دیکد این که همش غلط میگیره
txtuser.Text = CryptoEngine.Decrypt(txtpass.Text, "sblw-3hn8-sqoy19");
میشه لطفا راهنماییم کنید؟
تشکر