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

درس/التشفير فى vb.net

مغلق
بدأه SOLO.NET في 17 أكتوبر 2005 · 17 رد · 12,368 مشاهدة · في قسم الدروس والمواضيع المتميزة
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم

فى الدرس السابق قمنا بشرح التشفير وانواعه وتطرقنا الى النوع الاول منه وهو التشفير المتناظر(المفتاح السرى) واستخدمنا خوارزميةTriple-DES

وهذا رابط الدرس الاول

وسنتابع الحديث هنا عن التشفير الغير متناظر(المفتاح العام)

على خلاف التشفير المتناظر(بالمفتاح السرى)، يستخدم فى التشفير الغير متناظر مفتاحين. واحد يسمى المفتاح العام(public key)والاخر يسمى المفتاح الخاص(private key)

.المفتاح العام(Public Key)

هو الرقم الذي يتم تداولة و نشره بين بقية المستخدمين لتشفير أي معلومات أو رسالة الكترونية مخصصة لك و يعتبر رقمك العام اساس عملية التشفير و لا يستطيع أحد فك رموز تلك المعلومة غيرك انت لأنها تحتاج الى الرقم السري و ليكن هو المفتاح الخاص بك لإكمال العملية الحسابية والوصول الى الرقم الأساس وبالتالي فتح الملفات مرة أخرى

المفتاح الخاص : هو النصف الاَخر المكمل للمفتاح العام للوصول الى الرقم الأساس واعادة المعلومات المشفرة الى وضعها الطبيعي قبل التشفير ، و هذا المفتاح هو الذي يميز كل شخص عن غيره من المستخدمين ويكون بمثابة هوية الكترونية تمكن صاحبها من فك أي معلومة مشفرة مرسله اليه على أساس رقمه العام ولذلك يجب عليك الاحتفاظ بالمفتاح الخاص سرا وهذ ما يعرف ب

Private Key

يزودنا .NETFrameWoerk الفئات التالية للتعامل مع التشفير الغير متناظر:

Dsacryptoserviceprovider

Rsacryptoserviceprovider

تعتبر خوارزميةRSA احدى اشهر الخوارزميات والتقنيات المستخدمة فى التشفير المتناظر. الاختصار RSA يشير الىRivest, Shamir, and Adelman ,وهى اسماء مخترعى هذه التقنية. الدوت نت يزودنا بالفئة Rsacryptoserviceprovider الذي يغلّف هذه الخوارزمية. وسنحاول فى هذا الدرس شرح هذه الفئة فى تشفير البيانات.

حيث نحن كمبرمجين ومطورين لا تهمنا التركيبة الداخليه للخوارزم المستخدم ولكن ما يهمنا هو حماية بياناتنا من السرقة

سننشى فئةClass وسنسميها PublicKeySecurityHelperتحتوى على دالتينMethod واحدة لتشفير البيانات والاخرى لفك التشفير كما سننشى فئة اخرى وسنسميها MyRSAInfo وسنستخدمها فى تخزين المفتاح العام والمفتاح الخاص

هذا هو الكود للفئتين

Imports System.Security.Cryptography
Imports System.IO
Imports System.Text

Public Class PublicKeySecurityHelper
    Public Function Encrypt(ByVal strData As String) As MyRSAInfo
        Dim myrsa As New MyRSAInfo
        Dim p As CspParameters = New CspParameters
        p.Flags = CspProviderFlags.UseMachineKeyStore
        myrsa.Parameters = p
        Dim rsa As RSACryptoServiceProvider = New RSACryptoServiceProvider(p)
        Dim data() As Byte = rsa.Encrypt(Encoding.Unicode.GetBytes(strData), False)
        myrsa.PublicKey = rsa.ToXmlString(False)
        myrsa.PrivateKey = rsa.ToXmlString(True)
        myrsa.Data = data
        Return myrsa
    End Function

    Public Function Decrypt(ByVal myrsa As MyRSAInfo) As Byte()
        Dim rsa As RSACryptoServiceProvider = New RSACryptoServiceProvider(myrsa.Parameters)
        rsa.FromXmlString(myrsa.PublicKey)
        Dim data() As Byte = rsa.Decrypt(myrsa.Data, False)
        Return data
    End Function

End Class

Public Class MyRSAInfo
    Public PublicKey As String
    Public PrivateKey As String
    Public Parameters As CspParameters
    Public Data() As Byte
End Class

شرح الكود

اولا تشفير البيانات Encrypting data

• فى البدايه قمنا باستيراد فضاءات الاسماء التى سنتعامل معها واهمها هنا System.Security.Cryptography لانه هو الذى يحتوى على الفئة RSACryptoServiceProvider

• قمنا بانشاء الدالة Encrypt() وهى المستخدمة فى التشفير وهى تستقبل نص(المراد تشفيره) وتعود بنسخه من الفئة MyRSAInfo وهى تحتوى على النص المشفر

• الفئة MyRSAInfo تحتوى على اربعة اعضاء او متغرات هى: PublicKey ويستخدم لتخزين المفتاح العام , PrivateKeyلتخزين المفتاح الخاص الذين يتم توليدهم , Parametersمتغير من نوع CspParametersالذى يستخدم لتوليد المفاتيح العامة والخاصة , Data()مصفوفة من البايتات وهى تمثل النص المشفر

• نعدو لدالة التشفير حيث انشئنا فيه كائن من الفئه CspParametersواسندنا للخاصية Flag القيمة CspProviderFlags.UseMachineKeyStore وهى احدى قيم ال enumerationالتى تاخذها وهذه الفييمة تحدد من اى مكان سياخذ معلومات المفتاح

• ثم انشئنا كائن من الفئة RSACryptoServiceProvider ومررنا لها الكائنCspParameters السابق انشاءه والمسمى p

• قمنا باستدعاء الطريقةEncrypt() method للفئة RSACryptoServiceProviderومررنا لها البيانات المراد تشفيرها وذلك طبعا بعد تحويلها الى مصفوفه من البايتات باستخدام الطريقة GetBytes() التى تعود للفئة Encoding الموجوده فى فضاء الاسماء Text والبارميتر الثانى للطريقة Encrypt() هو من النوع Boolean فاذا كان true يتم استخدام OAEP padding فى التشفير وللعلم هذا الشكل لا يعمل الا على windows xp ولذلك قمنا بتمررير القيمة false والتى تشير الى استخدام PKCS#1 v1.5 padding, وطبعا الداله او الطريقة Encrypt() تعود بمصفوفة من البايتات byte array تمثل البيانات بعد تشفيرها وقمنا باسنادها للمتغير من نفس النوع اسميناه data

• اخيرا قمنا بتعبئه اعضاء الفئئه MyRSAInfo التى انشئنا نسخه منها واسميناها myrsa

واستخدمنا الداله ToXmlString والتى تعود بنص على هيئه xml يمثل كائن RSA وتاخذ بارميتر من النوع Boolean فاذا كان true فستعود بنص يشمل حتى المفتاح الخاص

Decrypting data ثانيا فك التشفير

• قمنا بانشاء الداله Decrypt() التى تستقبل كائن من الفئة MyRSAInfoوهذا الكائن يجب ان يكون احدى النسخ التى تعود بها الطريقة Encrypt() اى انه يجب ان يكون الكائن الممرر للداله Decrypt()هو نفس الكائن التى تعود به الداله التى استخدمت لتشفير البيانات المراد فك تشفيرها وطبعا هذه الداله تعود ب مصفوفه من البايت تمثل البيانات الطبيعية

• داخل الداله Decrypt() قمنا بانشاء كائن من الفئة RSACryptoServiceProvider ومررنا له نفس البارميتر

• قمنا باستدعاء الطريقة FromXmlString() للفئة RSACryptoServiceProviderومررنا لها المفتاح العام الذى انشئ سابقا

• اخيرا قمنا باستدعاء الطريقة Decrypt() ايضا الخاصة بالفئةRSACryptoServiceProvider ومررنا لها البارميتر الخاص بها وهى تاخذ نفس البارميتر الخاص بالطريقةEncrypt() ولكن تقوم بعكس الوظيفه

بهذا نكون قد انتهينا من هذا النوع من التشفير

مثال فى المرفقات

cryptography3.zip

VB.NET and C# Comparison

http://www.harding.edu/fmccown/vbnet_csharp_comparison.html

002.gif

=-=-=-=-=-=-=
ذو العلم يشقى فى النعيم بعلمه .:. واخو الجهالة فى الشقاوة ينعم
=-=-=-=-=-=-=
يا من بدنياه اشتغل . قد غره طول الأمل . فالموت يأتى بغتة . والقبر صندوق العمل
=-=-=-=-=-=-=
ان لم تستطع ان تجد ما تفعله فافعل ما لم تسطع ان تجده

screen_shot_2011-05-19_at_12.44.49_pm.pn

#2

تقنية الارقام المختلطةHashes

خوارزميات الارقام المختلطة تنشئ مخرجات ثابته الطول لمعطيات منغيرة من البيانات. فاذا قام اى شخص بتغيير البيانات الاصليه فستكون الارقام المولدة مختلفة عن الارقام المولدة الاصليه وبهذه الطريقة تستطيع التاكد من صحة البيانات اذا قام احدهم بالتلاعب فيها. وهى غالبا تستخدم فى التواقيع الرقمية .

وهذه هى الفئات التى تتعامل مع الارقام المختلطة(hashes):

SHA1Managed

MD5CryptoServiceProvider

MACTripleDES

ملاحظة: خوارزمية SHA1 تم كسرها من قبل القراصنه فهى لم تعد مستخدمه عمليا

والان سنقوم بعمل مثال لاستخدام هذه الطريقة باستخدام خوارزمية MD5

وهذا هو الكود

Imports System
Imports System.Security.Cryptography
Imports System.Text
Public Class MD5HashHelper
    Public Function GetHash(ByVal message As String) As Byte()
        Dim data As Byte()
        data = UTF8Encoding.ASCII.GetBytes(message)
        Dim md5 As MD5CryptoServiceProvider = New MD5CryptoServiceProvider
        Return md5.ComputeHash(data, 0, data.Length)

    End Function

    Public Function VerifyHash(ByVal message As String, ByVal hash As Byte()) As Boolean
        Dim data As Byte()
        data = UTF8Encoding.ASCII.GetBytes(message)
        Dim md5 As MD5CryptoServiceProvider = New MD5CryptoServiceProvider
        Dim hashTemp As Byte() = md5.ComputeHash(data, 0, data.Length)
        For counter As Int32 = 0 To hash.Length - 1 Step 1
            If hash(counter) <> hashTemp(counter) Then
                Return False
            End If
        Next
        Return True

    End Function
End Class

شرح الكود

• فى البداية قمنا باستيراد فضاءات الاسماء اللازمة

• ثم قمنا بانشاء الفئة MD5HashHelper وهى تحتوى على الطرريقتين ,GetHash VerifyHash

• الداله GetHash() تستقبل نص وتعود الداله بمصفوفة من البايت تمثل قيمه الهاش المحسوب

• فى داخل الداله GetHash() استخدمنا الفئة UTF8Encoding للحصول على byte array تمثل النص المرسل

• ثم انششئنا كائن من الفئة MD5CryptoServiceProvider واستدعينا الطريقة ComputeHash ومررنا لها النص المحول الى byte array

• الدالة ComputeHash تستقبل byte array وتقوم بحساب قيمة الهاش له وتعود ايضا ب byte array ويمثل قيمة الهاش

• الداله VerifyHashتستقبل نص وهو النص الذى نريد التحقق من صحته وكذلك تستقبل byte array تمثل قمية الهاش المولده مسبقا لهذا النص وهى تعود بقيمة منطقية true اذا لم يتم العبث بالبيانات والعكس

• فى هذه الداله قمنا قمنا بمثل ما عملناه فى الداله السابقة حيث قمنا بتوليد قيمة هاش للنص وثم عملنا حلقة دوران وقمنا فيها بمقارنه كل بايت لكل من الهاش المولد وقيمة الهاش المولده مسبقا فاذا كانت متطابقة عدنا بtrue واذا اختلف عدنا ب false

وهكذا بهذه الطريقة تستطيع التاكد من صحة البيانات االمرسلة اذا كانت سليمة او تم تم العبث بها

مثال فى المرفقات

VB.NET and C# Comparison

http://www.harding.edu/fmccown/vbnet_csharp_comparison.html

002.gif

=-=-=-=-=-=-=
ذو العلم يشقى فى النعيم بعلمه .:. واخو الجهالة فى الشقاوة ينعم
=-=-=-=-=-=-=
يا من بدنياه اشتغل . قد غره طول الأمل . فالموت يأتى بغتة . والقبر صندوق العمل
=-=-=-=-=-=-=
ان لم تستطع ان تجد ما تفعله فافعل ما لم تسطع ان تجده

screen_shot_2011-05-19_at_12.44.49_pm.pn

#3

التواقيع الرقميةDigital Signatures

التواقيع الرقمية تستخدم للتحقق من هوية المرسل والتاكد من سلامة البيانات . وهو يستخدم غالبا مع التشفير الغير متناظر(المفتاح العام)

الية عمل التواقيع الرقمية

يطبّق المرسل خوارزمية hash إلى البيانات المرسلة وينشئ رسالة ملخص . هذه الرساله هى عبارة عن تمثسل وتوضيح للبيانات المرسلة.

ثم يقوم المرسل بتشفير الرسالة مع المفتاح الخاص للحصول على التوقيع الرقمى

وبعد ذلك يقوم بارسال البيانات ضمن قناة امنه

يستلم المستلم البيانات ويفك تشفير التوقيع الرقمى باستخدام المفتاح العام ويسترجع الرسالة الملخصه

يطبّق المستلم نفس خوارزمية الhash التى استخدمها المرسل وينشئ رساله ملخص جديده للبيانات

اذا تطابق ملخص المستلم مع ملخص المرسل فان هذا يعنى ان الرسالة قادمة من المكان الصحيح

اطار العمل دوت نت يوفر لنا الفئات التالية للعمل مع التواقيع الرقمية

RSACryptoServiceProvider للتشفير اللا متناظر

RSAPKCS1SignatureFormatter للتواقيع الرقمية

مثال

فى هذا المثال سننشئ فئة ونسميها DigitalSignatureHelper وهى التى سنستخدمها فى انشاء التواقيع الرقمية والتاكد منها وكذلك سنستخدم الفئة MD5HashHelper

لتوليد قيم الهاش

وهذا هو الكود

Imports System
Imports System.Security.Cryptography

Public Class DigitalSignatureHelper
    Private m_private As RSAParameters
    Private m_public As RSAParameters
    Public Function CreateSignature(ByVal hash As Byte()) As Byte()
        Dim RSA As RSACryptoServiceProvider = New RSACryptoServiceProvider
        Dim RSAFormatter As RSAPKCS1SignatureFormatter = New RSAPKCS1SignatureFormatter(RSA)
        RSAFormatter.SetHashAlgorithm("MD5")
        m_public = RSA.ExportParameters(False)
        m_private = RSA.ExportParameters(True)
        Return RSAFormatter.CreateSignature(hash)

    End Function
    Public Function VerifySignature(ByVal hash As Byte(), ByVal signedhash As Byte()) As Boolean
        Dim RSA As RSACryptoServiceProvider = New RSACryptoServiceProvider
        Dim RSAKeyInfo As RSAParameters = New RSAParameters
        RSAKeyInfo.Modulus = m_public.Modulus
        RSAKeyInfo.Exponent = m_public.Exponent
        RSA.ImportParameters(RSAKeyInfo)
        Dim RSADeformatter As RSAPKCS1SignatureDeformatter = New RSAPKCS1SignatureDeformatter(RSA)
        RSADeformatter.SetHashAlgorithm("MD5")
        Return RSADeformatter.VerifySignature(hash, signedhash)
    End Function
End Class

شرح الكود

• انشئنا الفئة وهى تحتوى على متغيرين من النوع RSAParametersيتم فيها تخزين المعلومات عن المفتاح الخاص والوالعام

• انشئنا داله CreateSignature() وهى تشتقبل مصفموفة بايت تمثل قيمة الهاش وتعود بمصفوفة بايت تمثل التوقيع الرقمى لللهاش

• فى داخل الداله قمنا بانشاء كائن من الفئة RSACryptoServiceProvide وانشئنا كائن اخر من الفئة RSAPKCS1SignatureFormatter ومررنا له الكائن المنشاء من الفئةالاولى

• الفئة RSAPKCS1SignatureFormatter مسؤلة عن انشاء ما يسمى PKCS #1 او(Public Key Cryptographic Signature version 1.5 signature)

• قمنا باستدعاء الطريقة SetHashAlgorithm() التى تاخد اسم الخوارزم المستخدم فى توليد الهاش كباراميتر ونحن هنا نسنخدم خوارزم MD5

• قمنا باستعاء الطريقة ExportParameters() للحصول على المفتاح العام والخاص وتخزينهما فى المتغيرات

• واخر شئ قمنا باستدعاء الطريقة CreateSignature وهى التى تقوم بانشاء التوقيع الرقمى وتعود به على هيئة مصفوفة بايت وهى القيمة التى تعود بها دالتنا

مثال فى المرفقات

وبهذا اكون قد تطرقت الى جميع طرق التشفير والتاكد من البيانات ارجو من الله العلى التوفيق

ورمضان كريم

MD5HashDemo.rar

DigitalSignatureDemo.rar

VB.NET and C# Comparison

http://www.harding.edu/fmccown/vbnet_csharp_comparison.html

002.gif

=-=-=-=-=-=-=
ذو العلم يشقى فى النعيم بعلمه .:. واخو الجهالة فى الشقاوة ينعم
=-=-=-=-=-=-=
يا من بدنياه اشتغل . قد غره طول الأمل . فالموت يأتى بغتة . والقبر صندوق العمل
=-=-=-=-=-=-=
ان لم تستطع ان تجد ما تفعله فافعل ما لم تسطع ان تجده

screen_shot_2011-05-19_at_12.44.49_pm.pn

#4

بما اننا نحتاج لانشاء مفاتيح للتشفير فنحن بحاجة الى شئ لتوليد ارقام عشوائية تودى لنا هذا الغرض

الدوت نت يقدم لنا هذه الفئة التى تقوم بهذا الغرض

RNGCryptoServiceProvider

واترككم للتعرف عليها بانفسكم

:rolleyes:

VB.NET and C# Comparison

http://www.harding.edu/fmccown/vbnet_csharp_comparison.html

002.gif

=-=-=-=-=-=-=
ذو العلم يشقى فى النعيم بعلمه .:. واخو الجهالة فى الشقاوة ينعم
=-=-=-=-=-=-=
يا من بدنياه اشتغل . قد غره طول الأمل . فالموت يأتى بغتة . والقبر صندوق العمل
=-=-=-=-=-=-=
ان لم تستطع ان تجد ما تفعله فافعل ما لم تسطع ان تجده

screen_shot_2011-05-19_at_12.44.49_pm.pn

#5

مش كنت تستني لما أذاكر الدرس الأول كويس :lol: يلا مش مشكله , جزاك الله خيرا كثيرا ان شاء الله ,,,

#6
اقتباس
مش كنت تستني لما أذاكر الدرس الأول كويس  يلا مش مشكله , جزاك الله خيرا كثيرا ان شاء الله ,,,

شكرا لمرورك ودعمك الدائم اخ حزووم وانا عارف انه الموضوع هذا مش مهضوم كثير لانه قلما اجد احد يفكر فى تشفير البيانات ولكنه يعتبر من اهم المواضيع

VB.NET and C# Comparison

http://www.harding.edu/fmccown/vbnet_csharp_comparison.html

002.gif

=-=-=-=-=-=-=
ذو العلم يشقى فى النعيم بعلمه .:. واخو الجهالة فى الشقاوة ينعم
=-=-=-=-=-=-=
يا من بدنياه اشتغل . قد غره طول الأمل . فالموت يأتى بغتة . والقبر صندوق العمل
=-=-=-=-=-=-=
ان لم تستطع ان تجد ما تفعله فافعل ما لم تسطع ان تجده

screen_shot_2011-05-19_at_12.44.49_pm.pn

#7

العفو يا أخ عبد الخالق , دا انت من الناس اللي ساعدوني كتير ,

بس لو تتكرم وترشحلي كتاب يكون أسلوبه كويس في الشرح علشان أذاكر منه في الموضوع ده ,

يعني مثلا كتاب تكون انت بتذاكر منه أو حاجه زي كده , ويا سلام لو تحط ليه رابط ,

علشان انت فتحت نفسي و عايز أفهم الموضوع بالتفصيل ,,,

#9
اقتباس
العفو يا أخ عبد الخالق , دا انت من الناس اللي ساعدوني كتير ,

بس لو تتكرم وترشحلي كتاب يكون أسلوبه كويس في الشرح علشان أذاكر منه في الموضوع ده ,

يعني مثلا كتاب تكون انت بتذاكر منه أو حاجه زي كده , ويا سلام لو تحط ليه رابط ,

علشان انت فتحت نفسي و عايز أفهم الموضوع بالتفصيل ,,,

اذا كنت تقصد علم التشفير فانا لم اتعمق به كثيرا

اما استخدامه من داخل الدوت نت فافضل مرجع هو MSDN Library

VB.NET and C# Comparison

http://www.harding.edu/fmccown/vbnet_csharp_comparison.html

002.gif

=-=-=-=-=-=-=
ذو العلم يشقى فى النعيم بعلمه .:. واخو الجهالة فى الشقاوة ينعم
=-=-=-=-=-=-=
يا من بدنياه اشتغل . قد غره طول الأمل . فالموت يأتى بغتة . والقبر صندوق العمل
=-=-=-=-=-=-=
ان لم تستطع ان تجد ما تفعله فافعل ما لم تسطع ان تجده

screen_shot_2011-05-19_at_12.44.49_pm.pn

#10

بصراحه انا لم اقرأ الموضوع بعد لكن على العموم جزاك الله خيرا

#11
اقتباس
بس لو تتكرم وترشحلي كتاب يكون أسلوبه كويس في الشرح علشان أذاكر منه في الموضوع ده

فى الفصل العاشر فى هذا الكتاب بيتكلم عن التشفير وطبعا الشرح بلغة c# لكن مفيش فرق

Wrox - Professional .NET Network Programming

VB.NET and C# Comparison

http://www.harding.edu/fmccown/vbnet_csharp_comparison.html

002.gif

=-=-=-=-=-=-=
ذو العلم يشقى فى النعيم بعلمه .:. واخو الجهالة فى الشقاوة ينعم
=-=-=-=-=-=-=
يا من بدنياه اشتغل . قد غره طول الأمل . فالموت يأتى بغتة . والقبر صندوق العمل
=-=-=-=-=-=-=
ان لم تستطع ان تجد ما تفعله فافعل ما لم تسطع ان تجده

screen_shot_2011-05-19_at_12.44.49_pm.pn

#12
Solo.Artecle.Refresh

VB.NET and C# Comparison

http://www.harding.edu/fmccown/vbnet_csharp_comparison.html

002.gif

=-=-=-=-=-=-=
ذو العلم يشقى فى النعيم بعلمه .:. واخو الجهالة فى الشقاوة ينعم
=-=-=-=-=-=-=
يا من بدنياه اشتغل . قد غره طول الأمل . فالموت يأتى بغتة . والقبر صندوق العمل
=-=-=-=-=-=-=
ان لم تستطع ان تجد ما تفعله فافعل ما لم تسطع ان تجده

screen_shot_2011-05-19_at_12.44.49_pm.pn

#13

مشكور اخي لكن انا جربت المثال تبع الmd5 لكن بصراحة لم افهم شيء ولم يظهر لي النص المشفر؟؟؟؟؟ يعني الكلمة الدخلة تبقا كما هي

تعلم:كيف تشغل برنامجك (قبل) ما يشتغل ال explorer, مثل ال check desk في الوندوز 98 و me

اللهم عطر يومنا بالايمان وانر قلبنا بالقرآن ورزقنا من حيث لانحتسب واجعل لنا سكينة تطمئن بها روحنا واحفظنا من كل سوء اللهم بارك لنا في رجب وشعبان وبلغنا رمضان آمين يارب العالمين

ranneh.com

#14

اخNO BODY CAN BEAT ME راجع قراءة الموضوع وستجد ان هذه الخوارزمية لا تشفر البيانات وانما كما ذكر تقوم باجازة البيانات والتاكد بانه لم يتم العبث فيها

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

VB.NET and C# Comparison

http://www.harding.edu/fmccown/vbnet_csharp_comparison.html

002.gif

=-=-=-=-=-=-=
ذو العلم يشقى فى النعيم بعلمه .:. واخو الجهالة فى الشقاوة ينعم
=-=-=-=-=-=-=
يا من بدنياه اشتغل . قد غره طول الأمل . فالموت يأتى بغتة . والقبر صندوق العمل
=-=-=-=-=-=-=
ان لم تستطع ان تجد ما تفعله فافعل ما لم تسطع ان تجده

screen_shot_2011-05-19_at_12.44.49_pm.pn

#15

شكرا لك اخيSOLO.NET

تعلم:كيف تشغل برنامجك (قبل) ما يشتغل ال explorer, مثل ال check desk في الوندوز 98 و me

اللهم عطر يومنا بالايمان وانر قلبنا بالقرآن ورزقنا من حيث لانحتسب واجعل لنا سكينة تطمئن بها روحنا واحفظنا من كل سوء اللهم بارك لنا في رجب وشعبان وبلغنا رمضان آمين يارب العالمين

ranneh.com

#16

مساء الخير :::...

شكرا لك يا اخي علي الطريقة والكود والمثال

#17

شكرا لك أخي Solo.Net على هذا الدرس الرائع

و لكن لماذا عندما جربت المثال cryptography3 على الفيجوال 2005 أعطى رسالة خطأ عند الضغط على زر إلغاء التشفير Decrypt ما السبب و رسالة الخطأ تقول Bad Key

هل هذه الخوارزمية لا تعمل على الفيجوال 2005

1338031614581.png

" اللهــم إنّا مغلــوبــون فانتصــــر "

(اللهم سبحانك لا علم لنا إلا ما علمتنا إنك أنت العليم الحكيم)

#18

أهلا solo.net

هل هذة الأكواد جاهزة أم قمت أنت بكتابتها ؟

و أين كود RSA , و انشاء المفاتيح ؟

و أين كود التشفير (هل هو جاهز في .NET )

أرجو التوضيح بالتفصيل ؟

وشكرا على المعلومات المفيدة

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

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