เทคโนโลยีการเข้ารหัสมักจะแบ่งออกเป็นสองประเภท: "สมมาตร" และ "อสมมาตร"
การเข้ารหัสแบบสมมาตร:
หมายความว่าการเข้ารหัสและการถอดรหัสใช้คีย์เดียวกันซึ่งโดยทั่วไปเรียกว่า "คีย์เซสชัน" เทคโนโลยีการเข้ารหัสนี้ใช้กันอย่างแพร่หลายในปัจจุบัน ตัวอย่างเช่นมาตรฐานการเข้ารหัส DES ที่รัฐบาลสหรัฐฯใช้เป็นวิธีการเข้ารหัสแบบ "สมมาตร" ทั่วไปและความยาวคีย์เซสชันคือ 56 บิต
การเข้ารหัสแบบอสมมาตร:
นั่นคือการเข้ารหัสและการถอดรหัสไม่ได้ใช้คีย์เดียวกันโดยปกติจะมีสองปุ่มเรียกว่า "คีย์สาธารณะ" และ "คีย์ส่วนตัว" พวกเขาจะต้องใช้เป็นคู่มิฉะนั้นไฟล์ที่เข้ารหัสไม่สามารถเปิดได้
การเข้ารหัสเป็นฟังก์ชั่นที่ใช้บ่อยในระบบ โหนดมาพร้อมกับฟังก์ชั่นการเข้ารหัสที่ทรงพลัง crypto ต่อไปนี้เป็นตัวอย่างง่ายๆในการฝึกฝน
1. การอ้างอิงถึงโมดูลการเข้ารหัส:
var crypto = ต้องการ ('crypto'); var $ = ต้องการ ('underscore'); var defaults = {การเข้ารหัส: {อินพุต: 'utf8', เอาต์พุต: 'hex'}, อัลกอริทึม: ['bf', 'blowfish', 'AES-128-CBC']};รายการการกำหนดค่าอัลกอริทึมการเข้ารหัสเริ่มต้น:
รูปแบบข้อมูลอินพุตคือ UTF8 รูปแบบเอาต์พุตคือ hex
อัลกอริทึมใช้อัลกอริทึมการเข้ารหัสสามครั้ง: BF, blowfish และ AES-128-ABC;
2. การกำหนดค่ารายการการกำหนดค่า:
ฟังก์ชั่น MixCrypto (ตัวเลือก) {if (typeof options == 'string') ตัวเลือก = {key: ตัวเลือก}; ตัวเลือก = $ .extend ({}, ค่าเริ่มต้น, ตัวเลือก); this.key = opotions.key; this.inputEncoding = opotions.encoding.input; this.outputEncoding = opotions.encoding.output; this.algorithms = opotions.algorithms;}อัลกอริทึมการเข้ารหัสสามารถกำหนดค่าและอัลกอริทึมการเข้ารหัสที่แตกต่างกันและการเข้ารหัสสามารถใช้ผ่านตัวเลือกการกำหนดค่า
3. รหัสวิธีการเข้ารหัสมีดังนี้:
MixCrypto.prototype.encrypt = function (plaintext) {return $. reduce (this.algorithms, ฟังก์ชั่น (memo, a) {var cipher = crypto.createcipher (a, this.key); นี้);};ใช้ crypto เพื่อเข้ารหัสข้อมูล
4. รหัสวิธีการถอดรหัสมีดังนี้:
MixCrypto.prototype.decrypt = function (crypted) {ลอง {return $ .reduceright (this.algorithms, ฟังก์ชั่น (memo, a) {var decipher = crypto.createdecipher (A, this.key); decipher.final (this.inputencoding); } catch (e) {return; -ใช้ crypto เพื่อถอดรหัสข้อมูล
อัลกอริทึมการเข้ารหัสและการถอดรหัสจะดำเนินการผ่านวิธีการลดและลดน้ำหนักในขีดเส้นใต้
บทความนี้เขียนขึ้นตามอัลกอริทึมที่เขียนโดย Min Shao หากมีข้อบกพร่องใด ๆ โปรดยกโทษให้ฉัน มือใหม่อยู่บนท้องถนนเดินหน้าต่อไป
รหัสตัวอย่างด้านบนของการเข้ารหัส NodeJS Crypto เป็นเนื้อหาทั้งหมดที่ฉันแบ่งปันกับคุณ ฉันหวังว่าคุณจะให้ข้อมูลอ้างอิงและฉันหวังว่าคุณจะสนับสนุน wulin.com มากขึ้น