عادةً ما تنقسم تكنولوجيا التشفير إلى فئتين: "متماثل" و "غير متماثل".
التشفير المتماثل:
وهذا يعني أن التشفير وفك التشفير يستخدمان نفس المفتاح ، والذي يسمى عادة "مفتاح الجلسة". تستخدم تقنية التشفير هذه على نطاق واسع اليوم. على سبيل المثال ، يعد معيار تشفير DES المعتمد من قبل حكومة الولايات المتحدة طريقة تشفير "متماثلة" نموذجية ، وطول مفتاح الجلسة هو 56 بت.
التشفير غير المتماثل:
أي أن التشفير وفك التشفير لا يستخدمان نفس المفتاح ، وعادة ما يكون هناك مفتاحان ، يسمى "المفتاح العمومي" و "المفتاح الخاص". يجب استخدامها في أزواج ، وإلا لا يمكن فتح الملف المشفر.
التشفير هو وظيفة مستخدمة بشكل متكرر في النظام. تأتي العقدة مع تشفير وظيفة تشفير قوية. فيما يلي مثال بسيط لممارسة.
1. الإشارات إلى وحدة التشفير:
var crypto = require ('crypto') ؛ var $ = require ('Underscore') ؛ var defaults = {encoding: {input: 'utf8 ، output:' hex '} ، الخوارزميات: [' bf '،' blowfish '،' AES-128-CBC ']} ؛عناصر تكوين خوارزمية التشفير الافتراضية:
تنسيق بيانات الإدخال هو UTF8 ، تنسيق الإخراج هو Hex ،
تستخدم الخوارزمية ثلاث خوارزميات تشفير: BF و Blowfish و AES-128-ABC ؛
2. تهيئة عنصر التكوين:
وظيفة mixcrypto (خيارات) {if (typeof Options == 'string') Options = {key: Options} ؛ الخيارات = $ .Extend ({} ، الافتراضات ، الخيارات) ؛ this.Key = Options.Key ؛ this.inputEncoding = Options.encoding.input ؛ this.outputencoding = Options.encoding.output ؛ هذا.يمكن تكوين خوارزمية التشفير ، ويمكن استخدام خوارزميات التشفير المختلفة والتشفير من خلال خيارات التكوين.
3. رمز طريقة التشفير كما يلي:
mixcrypto.prototype. نص عادي ، هذا) ؛} ؛
استخدم التشفير لتشفير البيانات.
4. رمز طريقة فك التشفير كما يلي:
mixcrypto.prototype.decrypt = function (crypted) {try {return $ .reduceright (this.algorithms ، function (memo ، a) {var decipher = decipher.final (this.inputencoding) ؛ } catch (e) {return ؛ }} ؛استخدم التشفير لفك تشفير البيانات.
يتم تنفيذ خوارزمية التشفير وفك التشفير من خلال أساليب تقليل واختزاز في السطح السفلي.
هذا المقال مكتوب بناءً على الخوارزمية التي كتبها مين شاو. إذا كان هناك أي عيوب ، يرجى أن تسامحني. الصاعد على الطريق ، واصل المضي قدمًا.
يعد رمز تشفير NODEJS الخاص بـ NODEJS هو كل المحتوى الذي أشاركه معك. آمل أن تتمكن من إعطائك مرجعًا وآمل أن تتمكن من دعم wulin.com أكثر.