استخدم المطلوب ('Crypto') لاستدعاء وحدة التشفير.
تتطلب وحدة التشفير دعم OpenSSL من النظام الأساسي. يوفر طريقة لتغليف بيانات اعتماد الأمان ، والتي يمكن استخدامها لشبكات HTTPS الآمنة واتصالات HTTP العادية.
توفر الوحدة أيضًا مجموعة من الملاحة لـ OpenSSL's Hash (hash) ، HMAC (Hey Hash) ، Cipher (الترميز) ، فك التشفير (فك التشفير) ، علامة (علامة) ، والتحقق (التحقق).
crypto.createcredentials (التفاصيل)
قم بإنشاء كائن بيانات الاعتماد مع تفاصيل المعلمة الاختيارية كقاموس مع قيم المفاتيح:
المفتاح: مفتاح خاص هو نوع سلسلة ، مشفر.
CERT: نوع سلسلة ، شهادة المصادقة المشفرة PEM.
CA: شهادة CA الموثوقة PEM في نموذج السلسلة ، أو قائمة الشهادات.
إذا لم يتم تقديم تفاصيل عن "CA" ، فسيستخدم Node.js القائمة الموثوقة للجمهور الافتراضي ، والتي تقع في http://mxr.mozilla.org/mozilla/source/security/nss/lib/ckfw/builtins/certdata.txt.
crypto.createhash (خوارزمية)
يقوم بإنشاء وإرجاع كائن التجزئة ، وهو تجزئة مشفرة للخوارزمية المحددة ، وتستخدم لإنشاء هضم التجزئة.
يمكن لخوارزمية المعلمة تحديد الخوارزمية المدعومة من إصدار OpenSSL المثبت على النظام. على سبيل المثال: "Sha1" ، "MD5" ، "SHA256" ، "SHA512" ، إلخ. في الإصدارات الحديثة ، تعرض OpenSSL-Message-Digest-Algorithms هذه الخوارزميات المتاحة.
hash.update (البيانات)
قم بتحديث محتوى التجزئة إلى البيانات المحددة. يمكن استدعاء هذه الطريقة عدة مرات عند استخدام بيانات البث.
hash.digest (الترميز = 'binary')
يحسب ملخص التجزئة لجميع البيانات الواردة. يمكن أن تكون المعلمة الترميز "Hex" أو "Binary" أو "BASE64".
crypto.createhmac (خوارزمية ، مفتاح)
يقوم بإنشاء وإرجاع كائن HMAC ، وهو HMAC مشفرة تحدد الخوارزمية والمفتاح.
يمكن تحديد خوارزمية المعلمة بواسطة OpenSSL-SEE CreateHash أعلاه. مفتاح المعلمة هو المفتاح المستخدم بواسطة HMAC.
hmac.update (البيانات)
تحديث محتوى HMAC إلى البيانات المحددة. يمكن استدعاء هذه الطريقة عدة مرات عند استخدام بيانات البث.
hmac.digest (الترميز = 'binary')
يحسب هضم HMAC لجميع البيانات الواردة. يمكن أن تكون المعلمة الترميز "Hex" أو "Binary" أو "BASE64".
crypto.createcipher (خوارزمية ، مفتاح)
قم بإنشاء وإرجاع كائن تشفير باستخدام الخوارزمية المحددة والمفتاح.
يمكن لخوارزمية المعلمة تحديد الخوارزميات التي تدعمها OpenSSL ، مثل "AES192" ، وما إلى ذلك في الإصدارات الحديثة ، تعرض OpenSSL قائمة Cipher-Algorithms خوارزميات التشفير المتاحة.
cipher.update (البيانات ، input_encoding = 'binary' ، output_encoding = 'binary')
استخدم بيانات المعلمة لتحديث المحتوى المراد تشفيره ، ويتم تحديد طريقة الترميز الخاصة به بواسطة Parameter input_encoding ، والتي يمكن أن تكون "UTF8" أو "ASCII" أو "ثنائية". تحدد المعلمة Output_encoding طريقة ترميز الإخراج للمحتوى المشفر ، والتي يمكن أن تكون "ثنائية" أو "BASE64" أو "Hex".
إرجاع المحتوى المشفر ، والذي يمكن استدعاؤه عدة مرات عند استخدام بيانات الدفق.
cipher.final (output_encoding = 'binary')
إرجاع جميع المحتوى المشفر المتبقي ، يتم تشفير إخراج output_encoding كواحد من "الثنائي" أو "ASCII" أو "UTF8".
crypto.createdecipher (خوارزمية ، مفتاح)
قم بإنشاء وإرجاع كائن فك التشفير باستخدام الخوارزمية المحددة والمفتاح. هذا الكائن هو التشغيل العكسي للكائن المشفر المذكور أعلاه.
decipher.update (البيانات ، input_encoding = 'binary' ، output_encoding = 'binary')
استخدم بيانات المعلمة لتحديث المحتوى المراد فك تشفيره ، وترميزه هو "ثنائي" أو "BASE64" أو "Hex". يحدد المعلمة Output_encoding طريقة ترميز الإخراج لمحتوى النص العادي المصطلح ، والذي يمكن أن يكون "ثنائيًا" أو "ASCII" أو "UTF8".
decipher.final (output_encoding = 'binary')
إرجاع جميع الأجزاء العادية المتبقية المتبقية ، التي تعتبر Output_encoding "واحدة من" ثنائية "أو" ASCII "أو" UTF8 ".
crypto.createsign (خوارزمية)
إنشاء وإرجاع كائن توقيع باستخدام الخوارزمية المحددة. في توزيعات OpenSSL الحالية ، تعرض OpenSSL Public-Beublic-algorithms خوارزميات التوقيع المتاحة ، مثل: "RSA-SHA256".
signer.update (البيانات)
قم بتحديث كائن التوقيع باستخدام معلمة البيانات. يمكن استدعاء هذه الطريقة عدة مرات عند استخدام بيانات البث.
signer.sign (private_key ، output_format = 'binary')
حساب توقيعه لجميع البيانات التي تم تمريرها إلى التوقيع. Private_key هي سلسلة تحتوي على المفتاح الخاص المصنوع من PEM للتوقيع.
إرجاع التوقيع ، الذي يمكن أن يكون إخراج Output_Format "ثنائيًا" أو "Hex" أو "BASE64".
crypto.createverify (خوارزمية)
إنشاء وإرجاع كائن التحقق باستخدام الخوارزمية المحددة. هذا هو التشغيل العكسي لكائن التوقيع أعلاه.
exerier.update (بيانات)
قم بتحديث كائن التحقق مع معلمة البيانات. يمكن استدعاء هذه الطريقة عدة مرات عند استخدام بيانات البث.
تحقق.
استخدم معلمات الشهادة والتوقيع للتحقق من البيانات الموقعة. CERT عبارة عن سلسلة مفاتيح عامة مشفرة PEM ، والتوقيع هو توقيع البيانات المحسوبة مسبقًا ، ويمكن أن يكون Signature_format "ثنائيًا" أو "Hex" أو "BASE64".
إرجاع صحيح أو خطأ وفقًا لنتائج التحقق من صحة التوقيع من البيانات والمفتاح العام.
كيف تكتب رمز تشفير لا رجعة فيه عندما تحتاج
نسخة الكود كما يلي:
var text = "123 | 123123121231231212312121231231231212123123123121231231231231231231231231231231231231231223122312312312312312312312312312312
var hasher = crypto.createhash ("md5") ؛
hasher.update (text) ؛
var hashmsg = hasher.digest ('hex') ؛ // hashmsg هي البيانات المشفرة
عندما تحتاج إلى بيئة مشفرة وفك تشفيرها
نسخة الكود كما يلي:
var key = "asdhjwhereu*asd123-123" ؛ // مفتاح سري مشفر
var text = "123 | 123123121231231212312121231231231212123123123121231231231231231231231231231231231231231223122312312312312312312312312312312
var crypted = cipher.update (text ، 'utf8' ، 'hex') ؛
crypted+= cipher.final ('hex') ؛
رسالة var = crypted ؛ // القيمة بعد التشفير
var decipher = crypto.createdEcipher ('AES-256-CBC' ، Key) ؛
var dec = decipher.update (message ، 'hex' ، 'utf8') ؛
dec+= decipher.final ('utf8') ؛ // القيمة بعد فك التشفير
ملاحظة: فيما يتعلق بتكنولوجيا التشفير ، يوفر هذا الموقع أيضًا أدوات التشفير التالية للرجوع إليها:
أداة التشفير عبر الإنترنت MD5: http://tools.vevb.com/password/createmd5password
أداة Escape Encryption/Decryption: http://tools.vevb.com/password/escapepwd
أداة تشفير SHA1 عبر الإنترنت: http://tools.vevb.com/password/sha1encode
رابط قصير (عنوان URL القصير) أداة توليد عبر الإنترنت: http://tools.vevb.com/password/dwzcreate
رابط قصير (عنوان URL القصير) أداة استعادة عبر الإنترنت: http://tools.vevb.com/password/unshorturl
مولد كلمة مرور عالية القوة: http://tools.vevb.com/password/createstrongword