كيفية تشفير سلسلة في Visual Basic 6.0 وكيفية فك تشفير السلسلة في. NET Visual Basic أو Visual Basic 2005

هام: تمت ترجمة هذه المقالة باستخدام برامج مايكروسوفت للترجمة الآلية ومن المحتمل ان يتم تحريرها او تدقيقها بعد ذلك من خلال تكنولوجيا منصة مجموعات الترجمة(CTF) او من خلال مترجم بشري. تقدم لك شركة مايكروسوفت هذه المقالات المترجمة بشكل آلي او بالترجمة البشرية او بعد تحريرها وتدقيقها من قبل مجموعات الترجمة حتى تمكنكم من الوصول إلى جميع المقالات الموجودة في قواعد المعرفة لديها بلغات مختلفة. إلا أن المقالات المترجمة قد تحتوي على أخطاء في المفردات او بناء الجمل او النحو. وعليه، فإن شركة مايكروسوفت ليست مسؤولة عن اية أخطاء او عدم دقة في الترجمة او أية أضرار قد تحدث نتيجة أخطاء في ترجمة محتويات النص او استخدامه من قبل العملاء.

اضغط هنا لرابط المقالة باللغة الانجليزية821762
الموجز
توضح هذه المقالة كيفية تشفير سلسلة باستخدام Microsoft Visual Basic 6.0. كما يوضح كيفية فك تشفير السلسلة باستخدام Visual Basic. NET. بالإضافة إلى ذلك، تناقش هذه المقالة Microsoft واجهات برمجة تطبيقات Windows التي يتم استخدامها في التعليمات البرمجية لعملية التشفير وعملية فك التشفير.
مقدمة
توضح هذه المقالة خطوة بخطوة كيفية تشفير سلسلة باستخدام CryptoAPI في Microsoft Visual Basic 6.0. كما يوضح كيفية فك تشفير السلسلة باستخدام الفئات كريبتوسيرفيسيبروفيدير في Microsoft. NET Visual Basic أو في Microsoft Visual Basic 2005. تتناول هذه المقالة التعليمات البرمجية لعملية التشفير في Visual Basic 6.0. وتتناول أيضا رمز لعملية فك التشفير في. NET Visual Basic أو Visual Basic 2005.

كود عملية التشفير وعملية فك التشفير لديك الهياكل التالية:
  • رمز عملية التشفير -عند تطوير التعليمات البرمجية التشفير باستخدام Visual Basic 6.0، thecode يتمحور في مجموعة مشروع يسمى انكريبتجروب. تحتوي مجموعة ثيسبروجيكت على المشاريع الفردية التالية:
    • CryptWrap.vbp -CryptWrap.vbp المشروع يحتوي على ملف فئة Visual Basic الذي يدعى clsCryptoAPI.cls.
    • Encrypt.vbp -مشروع Encrypt.vbp يحتوي على نموذج الذي يدعى frmEncFiles.frm.
  • يتم بناء التعليمات البرمجية عملية فك التشفير -عند تطوير التعليمات البرمجية فك التشفير باستخدام Visual Basic. NET أورين Visual Basic 2005، التعليمات البرمجية في حل واحد ناميديكريبتينفبنيت. يحتوي هذا الحل على أبليكاتيونبروجيكت Microsoft Windows واحد يسمى DecryptInVBNET.vbproj. يتضمن هذا المشروع ويندووسفورم واحد يدعى Form1.vb.
عودة إلى الأعلى

متطلبات

تفترض هذه المقالة أنك معتاد على المواضيع التالية:
  • التشفير
  • في Visual Basic 6.0 باستخدام واجهات برمجة التطبيقات
  • استخدام الفئات كريبتوسيرفيسيبروفيدير في. NET Visual Basic أو Visual Basic 2005
توضح القائمة التالية الأجهزة الموصى بها برامج البنية الأساسية للشبكة وحزم الخدمات التي تحتاجها:
  • أورميكروسوفت Microsoft Windows Server 2003، نظام التشغيل Microsoft Windows 2000، نظام التشغيل Windows XP
  • Microsoft Visual Basic 6.0 و Microsoft Visual Basic. نيتاند Microsoft Visual Basic 2005
عودة إلى الأعلى

التعليمات البرمجية للتشفير وفك التشفير

توضح هذه المقالة التعليمات البرمجية التي تم تضمينها في حزمة CryptographySample.exe.

يتوفر الملف التالي للتنزيل من مركز التنزيل ل Microsoft:
للحصول على معلومات إضافية حول طريقة تحميل ملفات "دعم microsoft"، انقر فوق رقم المقالة التالي لعرضها في "قاعدة المعارف ل Microsoft":
119591 كيفية الحصول على ملفات دعم Microsoft من الخدمات عبر الإنترنت
قامت Microsoft بفحص هذا الملف بحثًا عن الفيروسات. استخدمت Microsoft أحدث برامج الكشف عن الفيروسات التي كانت متوفرة في التاريخ الذي تم نشر الملف فيه. يتم تخزين الملف على ملقمات محسنة الأمان التي تساعد على منع أي تغييرات غير مصرح بها على الملف.

ملاحظة: لاستخدام التعليمات البرمجية العينة التي تم تحميلها، اتبع الخطوات الموجودة في "الإرشادات لتشغيل التعليمات البرمجيةالمقطع .

عودة إلى الأعلى

التشفير في Visual Basic 6.0

يصف هذا القسم الخطوات الهامة في عملية التشفير. كما يوضح التعليمات البرمجية ل Visual Basic المستخدمة لهذه الخطوات.

عودة إلى الأعلى

مكتبة الارتباط الديناميكي كريبتوراب

تم تضمينه مع التعليمات البرمجية التي تم تحميلها في مكتبة الارتباط الديناميكي كريبتوراب "التعليمات البرمجية للتشفير وفك التشفيرالمقطع . DLL كريبتوراب هو برنامج تضمين التفاف حول استدعاءات API. مكتبة الارتباط الديناميكي كريبتوراب قيد المشروع CryptWrap.vbp في مجموعة المشروع انكريبتجروب.

تتطلب عملية التشفير كريبتوراب DLL. ويستخدم المشروع تشفير DLL كريبتوراب لاستدعاء الدوال التي تقوم بإجراء التشفير الفعلي.

عودة إلى الأعلى

مكتبة الارتباط الديناميكي كريبتووراب

يتم ترميز كريبتووراب DLL باستخدام قالب مشروع ActiveX DLL. مكتبة الارتباط الديناميكي كريبتووراب موجود في الملف clsCryptoAPI.cls الموجود في مجموعة المشروع انكريبتجروب.

يحتوي على التعليمات البرمجية الخاصة بمكتبة الارتباط الديناميكي كريبتووراب ما يلي:
  • يستخدم هذا ثيكريبتووراب DLL تعريفات للمتغيرات والثوابت.
  • تصريحات الجمل الثانوية والدالات الدالة تشفير API من ملف مكتبة Advapi32.dll في أوففيسوال شروط أساسية 6.0.
  • تعريفات خصائص ووظائف وأوفسوبروتينيس.
  • كلمة مرور التي تم تعيينها إلى متغير مستوى الوحدة النمطية في التعليمات البرمجية من برنامج الاستدعاء.

    ملاحظة: يتم استخدام كلمة المرور هذه لاشتقاق المفتاح الذي يستخدم دالة CryptoEncrypt لتشفير السلسلة.
مكتبة الارتباط الديناميكي كريبتووراب يستخدم خوارزمية SHA1 تجزئة ويستخدم الخوارزمية RC2 للتشفير.

عودة إلى الأعلى

تعريف المتغيرات

يصف هذا القسم أهمية المتغيرات التي تم تعريفها في الملف clsCryptoAPI.cls.

جنبا إلى جنب مع المتغيرات النموذجية التي يمكن استخدامها لسلسلة الإدخال والإخراج في سلسلة، يتم تعريف بعض ثوابت في رمز عملية التشفير. يتم استخدام هذه الثوابت لاستدعاء وظائف API في المشروع CryptWrap.vbp. يظهر وصف لبعض هذه الثوابت في نموذج التعليمات البرمجية التالية:
    Private Const ALG_CLASS_ANY     As Long = 0    Private Const ALG_TYPE_ANY      As Long = 0    Private Const ALG_CLASS_HASH    As Long = 32768    Private Const ALG_TYPE_BLOCK    As Long = 1536    Private Const ALG_CLASS_DATA_ENCRYPT  As Long = 24576    Private Const ALG_SID_RC2       As Long = 2    Private Const ALG_SID_SHA1      As Long = 4    ' Hash algorithms    Private Const CALG_SHA1         As Long = ALG_CLASS_HASH Or ALG_TYPE_ANY Or ALG_SID_SHA1    ' Block ciphers    Private Const CALG_RC2          As Long = ALG_CLASS_DATA_ENCRYPT Or ALG_TYPE_BLOCK Or ALG_SID_RC2    ' CryptSetProvParam    Private Const PROV_RSA_FULL        As Long = 1    ' used when acquiring the provider    Private Const CRYPT_VERIFYCONTEXT  As Long = &HF0000000    ' Microsoft provider data    Private Const MS_DEFAULT_PROVIDER  As String = _                  "Microsoft Base Cryptographic Provider v1.0"    ' used to specify not to use any salt value while deriving the key    Private Const CRYPT_NO_SALT As Long = &H10
ملف الرأس Wincrypt.h على جهاز الكمبيوتر الخاص بك يحتوي على تعريفات كافة هذه الأخرى الثوابت. يمكنك استخدام ملف الرأس Wincrypt.h مباشرة في التعليمات البرمجية مشروع C أو c + +. ومع ذلك، في برنامج Visual Basic 6.0 التي تم تحميلها في "التعليمات البرمجية للتشفير وفك التشفير"القسم الثوابت التي تستخدم عملية تشفير يتم تعريفها وتهيئة في الملف clsCryptoAPI.cls. هذه الثوابت هي نفس الثوابت التي تم تعريفها في الملف Wincrypt.h على جهاز الكمبيوتر الخاص بك.

عودة إلى الأعلى

تعريف API في Visual Basic 6.0

وظائف API الهامة التي تم تعريفها في ملف clsCryptoAPI.cls كما يلي:
  • GetLastError -الدالة GetLastError باسترداد قيمة رمز خطأ آخر مؤشر ترابط استدعاء.

    التعليمات البرمجية التالية مثال للدالة GetLastError :
    Private Declare Function GetLastError Lib "kernel32" () As Long
  • يستخدم CryptAcquireContext -دالة CryptAcquireContext للحصول على معالجة لموفر خدمة تشفير محدد (CSP) كونتينيرين مفتاح محدد. يتلقى المعلمة فبروف المقبض إلى حاوية المفتاح المحدد. Youcan استخدام هذا المؤشر لاستدعاء وظائف API.

    قديس التالية مثال للدالة CryptAcquireContext :
    Private Declare Function CryptAcquireContext Lib "advapi32.dll" _              Alias "CryptAcquireContextA" (ByRef phProv As Long, _              ByVal pszContainer As String, ByVal pszProvider As String, _              ByVal dwProvType As Long, ByVal dwFlags As Long) As Long
  • يتم استخدام كريبتكرياتيهاش -دالة كريبتكرياتيهاش لبدء التجزئة دفق بيانات. ترجع الدالةكريبتكريتيهاش مؤشر لكائن تجزئة CSP للطالب. يمكن أيضا استخدام هذا المؤشر في أحدث استدعاء الدالة CryptHashData إلى تجزئة مفتاح جلسة العمل. يتلقى المعلمة فاش مؤشر كائن تجزئة جديدة.

    التعليمات البرمجية التالية مثال للدالة كريبتكريتيهاش :
    Private Declare Function CryptCreateHash Lib "advapi32.dll" _              (ByVal hProv As Long, ByVal algid As Long, _              ByVal hkey As Long, ByVal dwFlags As Long, _              ByRef phHash As Long) As Long
  • CryptHashData -الدالة CryptHashData بإضافة بيانات إلى كائن تجزئة محدد. المعلمة pbData يحتوي على تجزئة البيانات.

    فولووينجكودي مثال للدالة CryptHashData :
    Private Declare Function CryptHashData Lib "advapi32.dll" _              (ByVal hhash As Long, ByVal pbData As String, _              ByVal dwDataLen As Long, ByVal dwFlags As Long) As Long
  • كريبتديسترويهاش - كريبتديسترويهاش الدالة إتلاف كائن تجزئة تشير المعلمة حصة .

    التعليمة البرمجية التالية اكسامبليوف الدالة كريبتديسترويهاش :
    Private Declare Function CryptDestroyHash Lib "advapi32.dll" _              (ByVal hhash As Long) As Long
  • يستخدم كريبتريليسكونتيكست -الدالة كريبتريليسكونتيكست لتحرير مقبض CSP و keycontainer. أن المعلمة hProv هي مؤشر CSP. يتم الحصول على قيمة المعلمة hProv عن طريق استدعاء دالة API CryptAcquireContext .

    التعليمات البرمجية التالية مثال للدالة كريبتريليسكونتيكست :
    Private Declare Function CryptReleaseContext Lib "advapi32.dll" _              (ByVal hProv As Long, ByVal dwFlags As Long) As Long
  • CryptDeriveKey -الدالة CryptDeriveKey بإنشاء مفتاح تشفير مشتق من باسيداتا. إنشاء دالة CryptDeriveKey دائماً نفس المفتاح ifyou البيانات الأساسية نفس استخدام نفس CSP ونفس الخوارزميات كل مرة يتم استدعاء دالة CryptDeriveKey لنفس قاعدة البيانات.

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

    التعليمات البرمجية التالية مثال للدالة CryptDeriveKey :
    Private Declare Function CryptDeriveKey Lib "advapi32.dll" _              (ByVal hProv As Long, ByVal algid As Long, _              ByVal hBaseData As Long, ByVal dwFlags As Long, _              ByRef phKey As Long) As Long
  • كريبتديسترويكي - كريبتديسترويكي الدالة تحرير مقبض تشير المعلمة hKey . التعليمات البرمجية التالية مثال للدالة كريبتديسترويكي :
    Private Declare Function CryptDestroyKey Lib "advapi32.dll" _              (ByVal hkey As Long) As Long
  • CryptEncrypt -الدالة CryptEncrypt يستخدم لتشفير البيانات. المفتاح أن تسمى مودوليهولدس CSP الخوارزمية المستخدمة لتشفير البيانات. تشير المعلمة hKey هذا المفتاح. التعليمة البرمجية التالية اكسامبليوف الدالة CryptEncrypt :
    Private Declare Function CryptEncrypt Lib "advapi32.dll" _              (ByVal hkey As Long, ByVal hhash As Long, ByVal Final As Long, _              ByVal dwFlags As Long, ByVal pbData As String, _              ByRef pdwDataLen As Long, ByVal dwBufLen As Long) As Long
تم أيضا تعريف الروتين الفرعي كوبيميموري في الملف clsCryptoAPI.cls. نسخ الروتين الفرعي كوبيميموري كتلة من الذاكرة من موقع واحد إلى موقع آخر. روتين كوبيميموري يأخذ المعلمات التالية:
  • dest -المعلمة dest هي الوجهة حيث يكون المحتوى كوبيدتو.
  • المصدر -المعلمة المصدر هو حيث يتم نسخ المحتوى من المصدر.
  • بايت -المعلمة بايت هو حجم المحتوى المراد نسخها من الوجهة سورسيتو.
التعليمات البرمجية التالية مثال الروتين الفرعي كوبيميموري :
Private Declare Sub CopyMemory Lib "kernel32" Alias "RtlMoveMemory" _              (dest As Any, source As Any, ByVal bytes As Long)
عودة إلى الأعلى

المهام الهامة

يصف هذا القسم بعض المهام الهامة التي تم تعريفها في ملف clsCryptoAPI.cls.

استدعاء برنامج تشفير الدالة تشفير تشفير سلسلة. التعليمات البرمجية التالية مثال للدالة تشفير :
Public Function Encrypt(Optional intHashType As Integer = 1, _                            Optional intCipherType As Integer = 1) As Boolean      Encrypt = CryptoEncrypt(intHashType, intCipherType)End Function
تحتوي هذه الدالة على معلمتين من معلمات اختيارية. تحدد المعلمة intHashType خوارزمية التجزئة التي سيتم استخدامها لاشتقاق المفتاح. تعين المعلمة intCipherType نوع التشفير الذي يستخدمه برنامج تشفير تشفير السلسلة.

ملاحظة: يعرف نوع التشفير أيضا خوارزمية التشفير.

نظراً لوجود هذه المعلمات الاختيارية، كانت تتم تهيئته إلى قيمها الافتراضية. ولذلك، إذا لم توفر برنامج الاستدعاء القيم لهذه المعلمات، يستخدم دالة تشفير القيم الافتراضية.

استدعاء دالة تشفير الدالة CryptoEncrypt . دالة CryptoEncrypt هي دالة DLL كريبتووراب الذي يقوم بالتشفير الفعلية خاصة. التعليمات البرمجية التالية مثال للدالة CryptoEncrypt :
Private Function CryptoEncrypt(intHashType As Integer, _                                   intCipherType As Integer) As Boolean
دالة CryptoEncrypt هو المهمة الرئيسية في مكتبة الارتباط الديناميكي كريبتووراب. دالة CryptoEncrypt تشفير السلسلة.

عودة إلى الأعلى

عملية التشفير

تصف الخطوات التالية عملية التشفير:
  1. دالة CryptoEncrypt بدء عملية التشفير بواسطة استدعاء الدالة جيتبروفيدير .

    ملاحظة: دالة جيتبروفيدير دالة خاصة.
  2. الدالة جيتبروفيدير باستدعاء الدالة CryptAcquireContext API الحصول على مقبض CSP.
  3. الدالة جيتبروفيدير باستدعاء الدالة كريبتكريتيهاش API للحصول على مؤشر كائن تجزئة.
  4. دالة CryptHashData API بتجزئة النص كلمة المرور باستخدام مؤشر الدالة جيتبروفيدير التي تم الحصول عليها في الخطوة 3.
  5. استدعاء دالة CryptoEncrypt الدالة CryptDeriveKey API، ومؤشرات الدالة جيتبروفيدير التي تم الحصول عليها في الخطوتين 2 و 3 لاشتقاق المفتاح فورينكريبشن استخدم دالة CryptDeriveKey API.
  6. استدعاء دالة CryptoEncrypt الدالة كريبتديسترويهاش API لإتلاف كائن تجزئة.
  7. يخصص عبارة تهيئة متغير سوفيسينتسبيس للمخزن المؤقت حيث سيتم تخزين سلسلة المشفرة. على سبيل المثال، النص التالي سيتم تخصيص مساحة كافية:
    lngEnctBuffLen=lngEncDataLength*2
  8. استدعاء دالة CryptoEncrypt الدالة CryptEncrypt API. يتم إدخال الدالة CryptEncrypt API المفتاح أن دالة CryptDeriveKey API المشتقة في الخطوة 5 والسلسلة التي تريد تونكريبت.
  9. الدالة CryptEncrypt API بتخزين سلسلة المشفرة بالكتابة فوق إينبوتسترينج في المخزن المؤقت.
  10. استدعاء دالة CryptoEncrypt الدالة كريبتديسترويكي API لتدمير المفتاح.
  11. استدعاء دالة CryptoEncrypt الدالة كريبتديسترويهاش API لإتلاف كائن تجزئة.
عودة إلى الأعلى

تشفير البرنامج

برنامج تشفير يتم تضمينه مع التعليمات البرمجية التي تم تحميلها في "التعليمات البرمجية للتشفير وفك التشفيرالمقطع . برنامج تشفير ينشئ واجهة المستخدم لعملية التشفير. يستخدم DLL كريبتوراب لتشفير سلاسل. قيد هذا البرنامج تشفير تشفير المشروع الذي جزء من مجموعة المشروع انكريبتجروب.

عودة إلى الأعلى

واجهة المستخدم

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

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

لبدء عملية التشفير، انقر فوق تشفير. بعد اكتمال عملية التشفير، تظهر مربع رسالة تشير إلى ما إذا كان نجاح عملية التشفير.

لإنهاء برنامج تشفير، انقر فوق " إنهاء".

عودة إلى الأعلى

وظيفة هامة

يتم تعريف الدالة التالية في الملف frmEncFiles.frm من برنامج تشفير:
Private Sub Encrypt_File()
يتم استدعاء هذه الدالة عندما انقر فوق تشفير. استدعاء هذه الدالة بما يلي:
  • يقوم بإنشاء كائن من فئة كلسكريبتوابي في مكتبة الارتباط الديناميكي كريبتووراب.
  • تنفيذ مهام التحقق من صحة الأساسية، مثل التحقق من ثيكسيستينسي للملف.
  • تهيئة حقل كلمة المرور وحقل إينبوتداتا كلسكريبتوابي فئة الكائن.
  • استدعاء الدالة تشفيركلسكريبتوابي فئة الكائن.

    ملاحظة: في كائن الفئة كلسكريبتوابي ، يتم تعيين المعلمة intHashType إلى قيمة خوارزمية SHA1 4وتعيين المعلمة intCipherType إلى قيمة الخوارزمية RC2 2.
  • ملء حقل أووتبوتداتا كلسكريبتوابي فئة الكائن.
البرنامج يتلقى سلسلة المشفرة وتخزينها في ملف الإخراج. ثم تظهر مربع رسالة تشير إلى ما إذا كان نجاح عملية التشفير.

عودة إلى الأعلى

برنامج DecryptInVBNET

تم تضمينه مع التعليمات البرمجية التي تم تحميلها في البرنامج DecryptInVBNET "التعليمات البرمجية للتشفير وفك التشفيرالمقطع . برنامج DecryptInVBNET بإنشاء واجهة المستخدم لفك التشفير. كما تستخدم أيضا في Microsoft Visual Studio. NET أو Microsoft Visual Studio 2005 مشاريع دعم المجتمعات المحلية لعملية فك التشفير.

عودة إلى الأعلى

واجهة المستخدم

واجهة المستخدم لبرنامج DecryptInVBNET يحتوي على مربعات النصوص التالية:
  • أدخل المسار \ اسم الملف الكامل توديكريبت ملف
  • اسم وموقع ديكريبتيدفيلي

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

لبدء عملية فك التشفير، انقر فوق فك تشفير. بعد اكتمال عملية فك التشفير، تظهر مربع رسالة تشير إلى ما إذا كان نجاح عملية فك التشفير.

لإنهاء برنامج DecryptInVBNET، انقر فوق " إنهاء".

عودة إلى الأعلى

وظيفة هامة

يتم تعريف الدالة التالية في الملف Form1.vb البرنامج DecryptInVBNET:
Private Sub Decrypt_File()
يتم استدعاء هذه الدالة عند النقر فوق فك تشفير. استدعاء هذه الدالة بما يلي:
  • يقوم بإنشاء كائن من فئة كسباراميتير . يتم استخدام هذا الكائن لتمرير المعلمة إلى ثاتبيرفورمس CSP حسابات التشفير.
  • يقوم بإنشاء كائن فئة باسوورديريفيبيتيس . يتم استخدام هذا الكائن لاشتقاق مفتاح من سبيسيفيدباسوورد.

    ملاحظة: ببساطة، كلمة المرور مضمنة في theprogram.
  • استدعاء الأسلوب CryptDeriveKey للفئة باسوورديريفيبيتيس . يوفر هذا الأسلوب المفتاح كبيانات الإخراج. إيسباسيد الرئيسية في إدخال البيانات.
هذا البرنامج يستخدم خوارزمية SHA1 تجزئة ويستخدم الخوارزمية RC2 للتشفير. كما يقوم بإنشاء كائن من فئة RC2CryptoServiceProvider . يتم استخدام هذا الكائن في عملية فك التشفير.

تهيئة التعليمة البرمجية ثم المفتاح وحقل متجه تهيئة الكائن RC2CryptoServiceProvider . RC2CryptoServiceProvider برنامج تضمين الوصول إلى تنفيذ CSP الخوارزمية RC2.

التعليمات البرمجية باستدعاء الأسلوب كريتيديكريبتور أيضا. إنشاء أسلوب كريتيديكريبتور كائن برنامج فك التشفير متماثل باستخدام المفتاح الحالي ومتجه التهيئة الحالية.

وأخيراً، يقوم الأسلوب TransformFinalBlock من فئة إيكريبتوترانسفورم فك التشفير عن طريق إعطاء قيمة معلمة الإدخالسلسلة المشفرة وإعطاء طول سلسلة المشفرة. بعد إكمال الأسلوب TransformFinalBlock ، تظهر مربع رسالة تشير إلى ما إذا كان نجاح عملية فك التشفير. إذا نجحت عملية فك التشفير، يكتب البرنامج سلسلة فك تشفير في ملف الإخراج.

عودة إلى الأعلى

الإرشادات لتشغيل التعليمات البرمجية

انظر "التعليمات البرمجية للتشفير وفك التشفيرقسم "للحصول على معلومات حول كيفية تنزيل ثم احفظ ملفات البرامج إلى المجلد C:\ على جهاز الكمبيوتر الخاص بك.

تشفير البرنامج

  1. افتح مجموعة المشروع انكريبتجروب في Visual Basic 6.0. للقيام ذلك، انقر نقراً مزدوجاً فوق الملف EncryptGroup.vbg . يتم وضع الملف TheEncryptGroup.vbg في C:\CryptographySample\EncryptInVB6folder.
  2. في قائمة التشغيل في Visual Basic 6.0، انقر فوقابدأ مع ترجمة الكامل. نموذج Windows الذي يدعى Form1appears. Form1 هي واجهة المستخدم لبرنامج تشفير.
  3. في المربع أدخل كامل المسار \ اسم الملف توينكريبت ملف ، اكتب مسار المجلد الذي تريد تشفيره. Touse نموذج الملف الذي تم تضمينه مع برنامج تشفير، اكتب thefollowing:
    c:\CryptographySample\input.txt
  4. اضغط مفتاح TAB. اسم الملف حيث يتم تخزين سترينجويل المشفرة يظهر في المربع اسم وموقع انكريبتيدفيلي .

    ملاحظة: في هذا المثال، مسار isC:\CryptographySample\Input.enc ملف مشفر.
  5. انقر فوق تشفير. يظهر مربع رسالة انكريبتفيليس .
  6. انقر فوق موافق.
  7. انقر فوق إنهاء لإنهاء ثيبليكيشن.
تظهر سلسلة المشفرة في ملف C:\CryptographySample\Input.enc.

عودة إلى الأعلى

برنامج DecryptInVBNET

  1. فتح الحل DecryptInVBNET في Microsoft Visual Studio.NET 2002. للقيام بذلك، انقر نقراً مزدوجاً فوق الملف DecryptInVBNET.sln. الملف DecryptInVBNET.sln الموجود في المجلد theC:\CryptographySample\DecryptInVBNET.

    ملاحظة: إذا كنت تستخدم Microsoft Visual Studio. NET 2003 أو ميكروسوفتفيسوال Studio 2005، تتلقى مربع حوار يطلب منك ترقية ثيبروجيكت والحل إلى Microsoft Visual Studio. NET 2003 أو ميكروسوفتفيسوال Studio 2005. انقر فوق نعم.
  2. في القائمة تصحيح في أورين Visual. NET Studio Visual Studio 2005، انقر فوق " ابدأ". يظهر نموذج Windows Form1 إيسناميد ذلك. هو Form1 واجهة المستخدم الخاصة ديكريبتينفبنيتبروجرام.
  3. في المربع أدخل كامل المسار \ اسم الملف توديكريبت ملف ، اكتب مسار الملف الذي تريد فك تشفير. اكتب نموذج الملف الذي تم تضمينه مع برنامج DecryptInVBNET، Touse thefollowing:
    c:\CryptographySample\input.enc
  4. اضغط مفتاح TAB. اسم الملف حيث يتم تخزين سترينجويل الذي تم فك تشفيره يظهر في المربع اسم وموقع ديكريبتيدفيلي .

    ملاحظة: في هذا المثال، مسار isC:\CryptographySample\Input.dec الملف الذي تم فك تشفيره.
  5. انقر فوق فك تشفير. يظهر مربع رسالةDecryptInVBNET .
  6. انقر فوق موافق.
  7. انقر فوق إنهاء لإنهاء ثيبليكيشن.
تظهر سلسلة فك تشفير في ملف C:\CryptographySample\Input.dec.

عودة إلى الأعلى
مراجع
لمزيد من المعلومات، قم بزيارة مواقع ويب شبكة مطوري Microsoft (MSDN) التالية: للحصول على معلومات إضافية، انقر فوق رقم المقالة التالي لعرضها في "قاعدة معارف Microsoft":
277786 تشفير/فك تشفير البيانات عبر الأنظمة
عودة إلى الأعلى

تحذير: تمت ترجمة هذه المقالة تلقائيًا

خصائص

رقم الموضوع: 821762 - آخر مراجعة: 04/04/2016 01:48:00 - المراجعة: 5.0

Microsoft Visual Basic 2005, Microsoft Visual Basic .NET 2003 Standard Edition, Microsoft Visual Basic .NET 2002 Standard Edition, Microsoft Visual Basic 6.0 Professional Edition

  • kbvs2005applies kbvs2005swept kbhowtomaster kbprovider kbcrypt kbapi kbmt KB821762 KbMtar
تعليقات