الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

سؤال على التشفير

مغلق
بدأه bnitt في 7 مايو 2007 · 6 رد · 1,043 مشاهدة · في ASP.NET
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

أخواني ممكن مساعده في التشفير

معي برنامج بس أريد حفظ بعض البيانات في db بشكل مشفر مثل المبلغ أريد حفظ المبلغ بشكل مشفر ولا ينحفظ رقم

وعند البحث عن بيانات معينه يتم فك التشفير وإعادة البيانات إلى حالتها الاصلية

وشكرا

#2

السلام عليكم

أنا حسب علمي بأن الذي يحتاج إلى تشفير هي معلومات الدخول ..... لا يهم هذا هو رأيي الشخصي

الطريقة البسيطة للتشفير هي تحويل الرقم بواسطة معادلة رياضية وتخزينها في الحقل الخاص بها في الجدول فمثلا

لو كان معادلة التشفير هي y=2x+1 وهي معادلة خطية بسيطة يمكن كشفها بسهولة ولكن أوردتها على سبيل المثال ...

فإذا كان المبلغ 200 ريال تكون القيمة المخزنه 2*200 + 1= 401 وعليه يكون معادلة الاسترجاع هي

x=(y-1)/2

وكلما زاد تعقيد المعادلة كلما زاد الآمان

كذلك يمكن التشفير بتحويل الارقام إلى حروف وأرقام بواسطة ASC و Chr

فعلى سبيل المثال لو أردنا تحويل العدد 200 بلابد من تحويل كل رقم من أرقام العدد 200 إلى حرف

فـ

ASC(0)=48
ASC(2)=50

فنضيف عدد معين على 48 أو 50 بحيث لا يزيد المجموع عن 255 ..... فليكن العدد المضاف 30

فيكون 48+30 = 78

و 50 + 30 = 80

إذن الصفر الاسك له 78 بعد تشفيره و الـ 2 الاسك له بعد تشفيره 80 ،،،،، تمام وهذا لا يكفي الآن نحول 78 و 80 إلى حروف عبر الدالة

Chr

Chr(78)=N

Chr( 80)=P

فيكن العدد بعد تشفيرة هو PNN

ولفك التشفير

Che(ASC("p")-30)=2

Che(ASC("N")-30)=0

#3

أخي أنا ما قصدت هي المعادلات التي تقول عليها

أنا بسال عن دول موجوده في الدوت نت جاهزه ممكن حد يشرحها لي

شكرا على تجاوبك

#4

بس الدالة asc

ما تشتغل c#

#5

هنالك الجوريتم باسم Rijndael_Algorithm يستعمل في الجافا ... يمكنك البحث عنه في الانترنت , فهمه ومحاولة تطبيقه.

#6

السلام عليكم،،،،

كود التشفير


{
byte[] keyArray;
byte[] toEncryptArray = UTF8Encoding.UTF8.GetBytes(toEncrypt);

System.Configuration.AppSettingsReader settingsReader = new AppSettingsReader();
// Get the key from config file

string key = "thekey";
//System.Windows.Forms.MessageBox.Show(key);
//If hashing use get hashcode regards to your key
if (useHashing)
{
MD5CryptoServiceProvider hashmd5 = new MD5CryptoServiceProvider();
keyArray = hashmd5.ComputeHash(UTF8Encoding.UTF8.GetBytes(key));
//Always release the resources and flush data of the Cryptographic service provide. Best Practice

hashmd5.Clear();
}
else
keyArray = UTF8Encoding.UTF8.GetBytes(key);

TripleDESCryptoServiceProvider tdes = new TripleDESCryptoServiceProvider();
//set the secret key for the tripleDES algorithm
tdes.Key = keyArray;
//mode of operation. there are other 4 modes. We choose ECB(Electronic code Book)
tdes.Mode = CipherMode.ECB;
//padding mode(if any extra byte added)

tdes.Padding = PaddingMode.PKCS7;

ICryptoTransform cTransform = tdes.CreateEncryptor();
//transform the specified region of bytes array to resultArray
byte[] resultArray = cTransform.TransformFinalBlock(toEncryptArray, 0, toEncryptArray.Length);
//Release resources held by TripleDes Encryptor
tdes.Clear();
//Return the encrypted data into unreadable string format
return Convert.ToBase64String(resultArray, 0, resultArray.Length);
}
public static string Encrypt(string toEncrypt, bool useHashing)

#7

على فكرة اضف المكتبتين

using System.Text;
using System.Security.Cryptography;

هذا الموضوع مغلق.

مواضيع مشابهة