PDA

View Full Version : نحوه استفاده از security در سی شارپ چطوری؟



mirage041
سه شنبه 15 بهمن 1387, 19:47 عصر
سلام دوستان عزیز!
ما یک پست داشتیم تو این ادرس :
http://barnamenevis.org/forum/showthread.php?t=144637

نتیجه گرفتیم که باید کد و دی کد کنیم و این کار باید با security
انجام بدیم.
ولی من نمی دونم اصلا با security چطوری باید کار کنیم؟
برای کمک به من در حل این مشکل و مشکل قبلیم در این تاپیک یا تاپیک بالا پاسخ دهید.

mostafaaa
چهارشنبه 16 بهمن 1387, 09:14 صبح
سلام دوست من
من قبلا در مورد روش Encrypt و Decrypt کردن یک رشته توی تاپیک زیر توضیح دادم که توی تالار VB.net هستش.
http://www.barnamenevis.org/forum/showthread.php?t=144062
الا ایحال نتیجه اون تاپیک که مشکل اون دوستمون رو حل کرد رو برات اینجا میزارم امیدوارم که مشکل شما رو هم حل کنه.
این کلاسش :

using System;
using System.Windows.Forms;
using System.IO;
using System.Text;
using System.Security.Cryptography;
public class Encryptor
{
private Rijndael RJ = Rijndael.Create() ;
private MD5CryptoServiceProvider MD = new MD5CryptoServiceProvider();
private byte[] Md5Hash(string Value)
{
return MD.ComputeHash(ASCIIEncoding.ASCII.GetBytes(Value) );
}
public string EncryptText(string TextToEncrypt, string Key)
{
RJ.Key = Md5Hash(Key);
RJ.Mode = CipherMode.ECB;
byte[] ToEncrypt = Encoding.ASCII.GetBytes(TextToEncrypt);
return Convert.ToBase64String(RJ.CreateEncryptor().Transf ormFinalBlock(ToEncrypt, 0, ToEncrypt.Length));
}
public string DecryptText(string EncryptedText, string Key)
{
try
{
RJ.Key = Md5Hash(Key);
RJ.Mode = CipherMode.ECB;
byte[] ToDecrypt = Convert.FromBase64String(EncryptedText);
return ASCIIEncoding.ASCII.GetString(RJ.CreateDecryptor() .TransformFinalBlock(ToDecrypt, 0, ToDecrypt.Length));
}
catch
{
MessageBox.Show("Invalid Key", "Decryption Failed", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
return null;
}

}
}

اینم مثلا نحوه کد کردن :

Encryptor en=new Encryptor() ;
MessageBox.Show(en.EncryptText("Hello world", "Anything"));
اینم نحوه دیکد کردن :

Encryptor de = new Encryptor();
MessageBox.Show(de.DecryptText("Iqp5jIimx0Iquqe5dWEKLA==", "Anything"));
یا علی

mirage041
چهارشنبه 23 بهمن 1387, 11:38 صبح
میشه بیشتر توضیح بدین در مورد این کد