ใช้ต้องการ ('crypto') เพื่อเรียกโมดูลการเข้ารหัส
โมดูลการเข้ารหัสต้องการการสนับสนุนของ OpenSSL จากระบบพื้นฐาน มันมีวิธีในการห่อหุ้มข้อมูลรับรองความปลอดภัยซึ่งสามารถใช้สำหรับเครือข่ายที่ปลอดภัยของ HTTPS และการเชื่อมต่อ HTTP สามัญ
โมดูลยังมีชุดของ encapsulations สำหรับแฮช (แฮช) ของ OpenSSL (แฮช), HMAC (คีย์แฮช), รหัส (การเข้ารหัส), การถอดรหัส (การถอดรหัส), เครื่องหมาย (เครื่องหมาย) และการตรวจสอบ (การตรวจสอบ)
crypto.createcredentials (รายละเอียด)
สร้างวัตถุรับรองพร้อมรายละเอียดพารามิเตอร์เสริมเป็นพจนานุกรมที่มีค่าคีย์:
คีย์: คีย์ส่วนตัวที่เป็นประเภทสตริงที่เข้ารหัส PEM
ใบรับรอง: ประเภทสตริงใบรับรองการรับรองความถูกต้องของ 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 list-message-digest-algorithms แสดงอัลกอริทึมย่อยที่มีอยู่เหล่านี้
hash.update (ข้อมูล)
อัปเดตเนื้อหาของแฮชเป็นข้อมูลที่ระบุ วิธีนี้อาจเรียกได้หลายครั้งเมื่อใช้การสตรีมข้อมูล
hash.digest (encoding = 'binary')
คำนวณสรุปแฮชของข้อมูลขาเข้าทั้งหมด พารามิเตอร์การเข้ารหัสสามารถเป็น 'hex', 'ไบนารี' หรือ 'base64'
crypto.createhmac (อัลกอริทึม, คีย์)
สร้างและส่งคืนวัตถุ HMAC ซึ่งเป็น HMAC ที่เข้ารหัสซึ่งระบุอัลกอริทึมและคีย์
อัลกอริทึมพารามิเตอร์สามารถเลือกได้โดย openssl-see createHash ด้านบน คีย์พารามิเตอร์คือคีย์ที่ใช้โดย HMAC
hmac.update (ข้อมูล)
อัปเดตเนื้อหา HMAC เป็นข้อมูลที่ระบุ วิธีนี้อาจเรียกได้หลายครั้งเมื่อใช้การสตรีมข้อมูล
hmac.digest (encoding = 'binary')
คำนวณการย่อย HMAC ของข้อมูลที่เข้ามาทั้งหมด พารามิเตอร์การเข้ารหัสสามารถเป็น 'hex', 'ไบนารี' หรือ 'base64'
crypto.createCipher (อัลกอริทึม, คีย์)
สร้างและส่งคืนวัตถุ Cipher โดยใช้อัลกอริทึมและคีย์ที่ระบุ
อัลกอริทึมพารามิเตอร์สามารถเลือกอัลกอริทึมที่รองรับโดย OpenSSL เช่น 'AES192' ฯลฯ ในรุ่นล่าสุด OpenSSL List-Cipher-Algorithms แสดงอัลกอริทึมการเข้ารหัสที่มีอยู่
cipher.update (data, input_encoding = 'binary', output_encoding = 'binary')
ใช้ข้อมูลพารามิเตอร์เพื่ออัปเดตเนื้อหาที่จะเข้ารหัสและวิธีการเข้ารหัสของมันถูกระบุโดยพารามิเตอร์ input_encoding ซึ่งอาจเป็น 'UTF8', 'ASCII' หรือ 'ไบนารี' พารามิเตอร์ output_encoding ระบุวิธีการเข้ารหัสเอาต์พุตของเนื้อหาที่เข้ารหัสซึ่งอาจเป็น 'ไบนารี', 'base64' หรือ 'hex'
ส่งคืนเนื้อหาที่เข้ารหัสซึ่งอาจเรียกได้หลายครั้งเมื่อใช้การสตรีมข้อมูล
cipher.final (output_encoding = 'binary')
ส่งคืนเนื้อหาที่เข้ารหัสที่เหลืออยู่ทั้งหมดเอาต์พุต output_encoding ถูกเข้ารหัสเป็นหนึ่งใน 'ไบนารี', 'ASCII' หรือ 'UTF8'
crypto.createdecipher (อัลกอริทึม, คีย์)
สร้างและส่งคืนวัตถุที่ถอดรหัสโดยใช้อัลกอริทึมและคีย์ที่กำหนด วัตถุนี้คือการทำงานย้อนกลับของวัตถุที่เข้ารหัสที่กล่าวถึงข้างต้น
decipher.update (data, input_encoding = 'binary', output_encoding = 'binary')
ใช้ข้อมูลพารามิเตอร์เพื่ออัปเดตเนื้อหาที่จะถอดรหัสและการเข้ารหัสของมันคือ 'ไบนารี', 'base64' หรือ 'hex' พารามิเตอร์ output_encoding ระบุวิธีการเข้ารหัสเอาต์พุตของเนื้อหา plaintext ที่ถอดรหัสซึ่งอาจเป็น 'ไบนารี', 'ASCII' หรือ 'UTF8'
decipher.final (output_encoding = 'binary')
ส่งคืน PlainTexts ที่ถอดรหัสที่เหลือทั้งหมดซึ่งมี output_encoding 'เป็นหนึ่งใน' ไบนารี ',' ascii 'หรือ' utf8'`
crypto.createsign (อัลกอริทึม)
สร้างและส่งคืนวัตถุลายเซ็นโดยใช้อัลกอริทึมที่กำหนด ในการแจกแจง OpenSSL ที่มีอยู่เดิม OpenSSL List-Public-Key-Algorithms แสดงอัลกอริทึมลายเซ็นที่มีอยู่เช่น: 'RSA-Sha256'
signer.update (ข้อมูล)
อัปเดตวัตถุลายเซ็นด้วยพารามิเตอร์ข้อมูล วิธีนี้อาจเรียกได้หลายครั้งเมื่อใช้การสตรีมข้อมูล
signer.sign (private_key, output_format = 'binary')
คำนวณลายเซ็นสำหรับข้อมูลทั้งหมดที่ส่งไปยังลายเซ็น Private_key เป็นสตริงที่มีคีย์ส่วนตัวที่เข้ารหัส PEM สำหรับลายเซ็น
ส่งคืนลายเซ็นซึ่งเอาต์พุต output_format สามารถเป็น 'ไบนารี', 'hex' หรือ 'base64'
crypto.createverify (อัลกอริทึม)
สร้างและส่งคืนวัตถุตรวจสอบความถูกต้องโดยใช้อัลกอริทึมที่กำหนด มันคือการทำงานย้อนกลับของวัตถุลายเซ็นข้างต้น
verifier.update (ข้อมูล)
อัปเดตวัตถุ Validator ด้วยพารามิเตอร์ข้อมูล วิธีนี้อาจเรียกได้หลายครั้งเมื่อใช้การสตรีมข้อมูล
Verify.Verify (ใบรับรอง, ลายเซ็น, Signature_format = 'Binary')
ใช้ใบรับรองพารามิเตอร์และลายเซ็นเพื่อตรวจสอบข้อมูลที่ลงนาม CERT เป็นสตริงคีย์สาธารณะที่เข้ารหัส PEM, ลายเซ็นเป็นลายเซ็นของข้อมูลที่คำนวณก่อนหน้านี้และ Signature_Format สามารถเป็น 'ไบนารี', 'hex' หรือ 'base64'
ส่งคืนจริงหรือเท็จตามผลลัพธ์ของการตรวจสอบความถูกต้องของลายเซ็นของข้อมูลและคีย์สาธารณะ
วิธีการเขียนรหัสการเข้ารหัสที่กลับไม่ได้เมื่อคุณต้องการ
การคัดลอกรหัสมีดังนี้:
var text = "123 | 123123121231231212312312123123123121231231212312312312123123123123123123123123123123123123123123123123123123123123123123123123123123123123123123123123123123123
var hasher = crypto.createhash ("md5");
hasher.update (ข้อความ);
var hashmsg = hasher.digest ('hex'); // hashmsg เป็นข้อมูลที่เข้ารหัส
เมื่อคุณต้องการสภาพแวดล้อมที่เข้ารหัสและถอดรหัส
การคัดลอกรหัสมีดังนี้:
var key = "asdhjwhereu*asd123-123"; // รหัสลับเข้ารหัส
var text = "123 | 123123121231231212312312123123123121231231212312312312123123123123123123123123123123123123123123123123123123123123123123123123123123123123123123123123123123123
var crypted = cipher.update (text, 'utf8', 'hex');
crypted+= cipher.final ('hex');
ข้อความ var = crypted; // ค่าหลังการเข้ารหัส
decipher var = crypto.createdecipher ('AES-256-CBC', คีย์);
var dec = decipher.update (ข้อความ, 'hex', 'utf8');
dec+= decipher.final ('utf8'); // ค่าหลังการถอดรหัส
PS: เกี่ยวกับเทคโนโลยีการเข้ารหัสเว็บไซต์นี้ยังมีเครื่องมือการเข้ารหัสต่อไปนี้สำหรับการอ้างอิงของคุณ:
MD5 เครื่องมือเข้ารหัสออนไลน์: http://tools.vevb.com/password/createMd5Password
เครื่องมือการเข้ารหัส/ถอดรหัส Escape: 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/createstrongpassword