ภาพรวมเนื้อหา
- การแฮชไฟล์ MD5 คืออะไร
- ข้อกำหนดเบื้องต้นสำหรับการสร้างแฮชไฟล์ MD5 ใน JavaScript
- จะสร้างแฮชไฟล์ MD5 ใน JavaScript ได้อย่างไร
- ใช้วิธีการทั่วไปในการสร้างแฮชไฟล์ MD5 ใน Node.js
- ตัวอย่างที่ 1: การสร้างแฮชไฟล์ MD5 ใน JavaScript
- ตัวอย่างที่ 2: การสร้างแฮชไฟล์ MD5 และการอ่านไฟล์ใน JavaScript
- แนวทางสำรอง 1: การสร้างแฮช MD5 ของสตริงใน JavaScript
- แนวทางสำรอง 2: การสร้างแฮช MD5 ของรหัสผ่านใน JavaScript
- บทสรุป
การแฮชไฟล์ MD5 คืออะไร
“ เอ็มดี5 ” เป็นฟังก์ชันทางเดียวที่รับข้อมูลประเภทใดก็ตามเป็นอินพุตและแมปกับสตริงเอาต์พุตที่มีขนาดคงที่ โดยไม่คำนึงถึงขนาดของสตริงที่กำหนด ฟังก์ชันแฮชจะสร้างแฮชเอาต์พุตเดียวกัน/เหมือนกันสำหรับสตริงที่ให้มา
สตริงนี้สามารถใช้เพื่อตรวจสอบไฟล์หรือข้อความเมื่อส่งผ่านเครือข่าย และ MD5 จะตรวจสอบว่าข้อมูลถูกต้องหรือไม่ ด้านล่างนี้เป็นการสาธิต:
ค่าอินพุต | ค่าแฮชที่ส่งคืน |
จาวาสคริปต์ | 686155af75a60a0f6e9d80c1f7edd3e9 |
เลียม*88 | c9c77fd293a9bb6d172e36a4a04053ea |
ข้อกำหนดเบื้องต้นสำหรับการสร้างแฮชไฟล์ MD5 ใน JavaScript
ต่อไปนี้เป็นข้อกำหนดเบื้องต้นที่ต้องพิจารณาก่อนสร้างแฮชไฟล์ MD5:
ขั้นตอนที่ 1: ตั้งค่าโครงการ
ก่อนอื่น ให้เริ่มต้นโปรเจ็กต์ด้วยค่าเริ่มต้น (ผ่านทาง ' -และ ” flag) โดยใช้ cmdlet ต่อไปนี้:
เวลาเริ่มต้น npm - - และ
เคล็ดลับโบนัส: สร้าง “ template.cjs ” ไฟล์แทน “ template.js ” ไฟล์เพื่อหลีกเลี่ยงการ “ โมดูล ” ข้อผิดพลาดประเภท
ขั้นตอนที่ 2: สร้างไฟล์ข้อความ
สร้างไฟล์ข้อความ “ textfile.txt ” เพื่อสร้างค่าแฮช MD5 จากเนื้อหาไฟล์ ต่อไปนี้เป็นเนื้อหาไฟล์ที่จะได้รับการประเมิน:
นอกจากนี้ โปรดทราบว่า “ การเข้ารหัสลับ ” จำเป็นต้องมีโมดูล เนื่องจากเป็นโมดูลในตัวของ Node.js ดังนั้นจึงไม่จำเป็นต้องติดตั้งหรือกำหนดค่า ด้านล่างนี้เป็นการสาธิต:
npm ติดตั้ง crypto
เห็นได้ชัดว่าไม่จำเป็นต้องติดตั้งโมดูลนี้แยกต่างหาก
จะสร้างแฮชไฟล์ MD5 ใน Node.js ได้อย่างไร
แฮช MD5 ของไฟล์สามารถสร้างขึ้นได้ด้วยความช่วยเหลือของ “ การเข้ารหัสลับ ” โมดูลและวิธีการของมันเช่น “ สร้างแฮช() ' และ ' ย่อยอาหาร() '. โมดูลนี้มีวิธีการเข้ารหัสเพื่อทำให้ข้อมูลมีความปลอดภัยใน Node.js
ใช้วิธีการทั่วไปในการสร้างแฮชไฟล์ MD5 ใน Node.js
ต่อไปนี้เป็นวิธีการที่ใช้กันทั่วไปในการสร้างแฮช md5 ของไฟล์:
readFileSync(): วิธีการนี้ใช้ในการอ่านไฟล์ในลักษณะซิงโครนัส
ไวยากรณ์
FS อ่าน FileSync ( จุด, เลือก )ในไวยากรณ์ที่กำหนด:
- “ จุด ” หมายถึงเส้นทางสัมพัทธ์ของไฟล์ข้อความ
- “ เลือก ” เป็นพารามิเตอร์ทางเลือกที่ประกอบด้วยการเข้ารหัสและแฟล็ก
ค่าส่งคืน
มันดึงเนื้อหาของไฟล์
createHash(): วิธีการนี้สร้างวัตถุแฮเพื่อสร้างการย่อยแฮช
ไวยากรณ์
การเข้ารหัสลับ สร้างแฮช ( alg เลือก )ในรูปแบบนี้:
- “ อัลจี ” บ่งบอกถึงการพึ่งพาอัลกอริธึมที่สามารถเข้าถึงได้ซึ่งเป็นที่ชื่นชอบของเวอร์ชัน OpenSSL
- “ เลือก ” เป็นพารามิเตอร์ทางเลือกที่ควบคุมพฤติกรรมการสตรีม
ค่าส่งคืน
มันดึงวัตถุแฮช
hash.digest(): วิธีการนี้จะสร้างข้อมูลสรุปที่ส่งผ่านเมื่อสร้างแฮช
ไวยากรณ์
กัญชา. ย่อยอาหาร ( [ เอกสาร ] )ที่นี่, ' เอกสาร ” ระบุประเภทการเข้ารหัสที่สามารถเป็น “ ฐานสิบหก ' หรือ ' ฐาน64 '.
ค่าส่งคืน
จะดึงสตริงของการเข้ารหัสที่ส่งผ่าน
ตัวอย่างที่ 1: การสร้างแฮชไฟล์ MD5 ใน Node.js
ตัวอย่างนี้สร้างแฮช md5 ของเนื้อหาไฟล์โดยใช้เครื่องหมาย “ การเข้ารหัสลับ ' และ ' เอฟเอส ” โมดูล:
ค่าคงที่ รับ1 = จำเป็นต้อง ( 'คริปโต' ) ;ค่าคงที่ รับ2 = จำเป็นต้อง ( 'เอฟเอส' ) ;
ค่าคงที่ อ่าน MD5 = รับ2. อ่าน FileSync ( 'textfile.txt' ) ;
ค่าคงที่ ออก = รับ1. สร้างแฮช ( 'md5' ) . อัปเดต ( อ่าน MD5 ) . ย่อยอาหาร ( 'เลขฐานสิบหก' ) ;
คอนโซล บันทึก ( 'MD5 แฮชของไฟล์ ->' + ออก ) ;
คำอธิบายรหัสมีดังนี้:
- ขั้นแรก นำเข้า ' การเข้ารหัสลับ ' และ ' เอฟเอส ” โมดูลเพื่อสร้างแฮช md5 และทำงานกับไฟล์ตามลำดับ
- ตอนนี้ใช้ ' อ่านไฟล์ซิงค์() ” วิธีการอ่านไฟล์ที่ระบุพร้อมกัน
- หลังจากนั้นให้สมัคร “ สร้างแฮช() ” วิธีการสร้างวัตถุแฮช md5 ที่อ้างอิงถึงไฟล์
- ที่ระบุ “ ฐานสิบหก ” คุณค่าในฐานะ “ ย่อยอาหาร() ” พารามิเตอร์ของวิธีการอ้างอิงถึงประเภทการเข้ารหัส
- สุดท้ายดึงข้อมูลแฮช md5 ของไฟล์ที่เกี่ยวข้อง
เอาท์พุต
ดำเนินการ cmdlet ต่อไปนี้เพื่อสร้างแฮชของไฟล์ md5:
เทมเพลตโหนด ซีเจส
ผลลัพธ์นี้บอกเป็นนัยว่าแฮช md5 ของไฟล์เป้าหมายจะถูกส่งกลับอย่างเหมาะสม
ตัวอย่างที่ 2: การสร้างแฮชไฟล์ MD5 และการอ่านไฟล์ใน Node.js
ในการสาธิตนี้ สามารถดึงแฮช md5 ของไฟล์พร้อมกับการอ่านเนื้อหาไฟล์ได้:
var รวม1 = จำเป็นต้อง ( 'เอฟเอส' ) ;คือรวม2 = จำเป็นต้อง ( 'การเข้ารหัสลับ' ) ;
var getHash = ( เนื้อหา ) => {
var genHash = รวม2. สร้างแฮช ( 'md5' ) ;
ข้อมูล = genHash. อัปเดต ( เนื้อหา, 'utf-8' ) ;
ออก = ข้อมูล. ย่อยอาหาร ( 'เลขฐานสิบหก' ) ;
กลับ ออก ;
}
var readFile = รวม1. สร้างReadStream ( 'textfile.txt' ) ;
บัญชีมะนาว = ''
อ่านไฟล์. บน ( 'ข้อมูล' , การทำงาน ( ก้อน ) {
ต่อ += ก้อน ;
} ) ;
อ่านไฟล์. บน ( 'ข้อผิดพลาด' , การทำงาน ( ผิดพลาด ) {
คอนโซล บันทึก ( ผิดพลาด ) ;
} ) ;
อ่านไฟล์. บน ( 'จบ' ,การทำงาน ( ) {
เนื้อหา var = รับแฮช ( ต่อ ) ;
คอนโซล บันทึก ( 'เนื้อหาไฟล์ -> \n ' + ต่อ ) ;
คอนโซล บันทึก ( 'MD5 แฮชของไฟล์ ->' + เนื้อหา ) ;
} ) ;
ตามบล็อคโค้ดนี้ ให้ทำตามขั้นตอนด้านล่าง:
- ในทำนองเดียวกัน ให้รวมโมดูลที่กล่าวถึงด้วย
- ตอนนี้ส่งข้อมูลที่จะแฮชโดยการสร้างวัตถุแฮช md5 และระบุ ' ฐานสิบหก ' รูปแบบ.
- หลังจากนั้นให้สร้างสตรีมการอ่านเพื่ออ่านเนื้อหาของไฟล์ที่ระบุ
- ต่อไปอ่านเนื้อหาของไฟล์และจัดการกับข้อผิดพลาดที่ต้องเผชิญ (หากมี)
- สุดท้ายให้เรียกใช้ ' รับแฮช() ” วิธีการคำนวณแฮช md5 ของเนื้อหาไฟล์
เอาท์พุต
เรียกใช้โค้ดด้านล่างเพื่อดึงแฮช md5 ของเนื้อหาของไฟล์:
เทมเพลตโหนด ซีเจส
จากผลลัพธ์นี้ อาจบอกเป็นนัยได้ว่าเนื้อหาของไฟล์พร้อมกับแฮช md5 ของไฟล์นั้นแสดงอย่างเหมาะสม
แนวทางสำรอง 1: การสร้างแฮช MD5 ของสตริงใน Node.js
การสาธิตรหัสต่อไปนี้สร้างแฮช md5 ของค่าสตริง:
เป็นกางเกงชั้นใน = 'ลินุกซ์' ;มะนาวประกอบด้วย = จำเป็นต้อง ( 'การเข้ารหัสลับ' ) ;
var makeHash = รวม. สร้างแฮช ( 'md5' ) . อัปเดต ( เชือก ) . ย่อยอาหาร ( 'เลขฐานสิบหก' ) ;
คอนโซล บันทึก ( 'MD5 แฮชของสตริง ->' + ทำแฮช ) ;
ในรหัสนี้:
- เริ่มต้นสตริงที่จะดึงค่าแฮช md5 และรวม ' การเข้ารหัสลับ ' โมดูล.
- หลังจากนั้นก็ใช้ “ สร้างแฮช() ' และ ' ย่อยอาหาร() ” วิธีการสร้างวัตถุแฮชและดึงสตริงที่เกี่ยวข้องกับประเภทการเข้ารหัสที่ส่งผ่าน เช่น “hex”
- สุดท้ายส่งคืนแฮช md5 ของสตริงที่กำหนด
เอาท์พุต
เทมเพลตโหนด ซีเจส
แนวทางสำรอง 2: การสร้างแฮช MD5 ของรหัสผ่านใน Node.js
ในตัวอย่างนี้ คุณสามารถดึงข้อมูลแฮช MD5 ของรหัสผ่านแทนได้:
เป็นกางเกงชั้นใน = '123*adQe&' ;มะนาวประกอบด้วย = จำเป็นต้อง ( 'การเข้ารหัสลับ' ) ;
var makeHash = รวม. สร้างแฮช ( 'md5' ) . อัปเดต ( เชือก ) . ย่อยอาหาร ( 'เลขฐานสิบหก' ) ;
คอนโซล บันทึก ( 'MD5 แฮชของรหัสผ่าน ->' + ทำแฮช ) ;
ที่นี่ ระบุรหัสผ่านและทำซ้ำขั้นตอนที่กล่าวถึงเพื่อรวม ' การเข้ารหัสลับ ” โมดูลและการประยุกต์ใช้การรวมกัน “ อัปเดต() ' และ ' ย่อยอาหาร() ” วิธีการสร้างแฮช md5 ของรหัสผ่าน
เอาท์พุต
การเรียกใช้ cmdlet ต่อไปนี้จะสร้างแฮช md5 ของรหัสผ่าน:
เทมเพลตโหนด ซีเจส
บทสรุป
แฮช MD5 ของไฟล์สามารถสร้างขึ้นได้โดยการติดตั้งและนำเข้าไฟล์ “ การเข้ารหัสลับ ” โมดูลและการใช้วิธีการเช่น “ สร้างแฮช() ' และ ' ย่อยอาหาร() ” เป็นต้น นอกจากนี้ ยังสามารถสร้างแฮช md5 ของสตริงที่กำหนดหรือรหัสผ่านได้อีกด้วย โดยทั่วไปแล้วจะรักษาความปลอดภัยข้อมูลโดยการเข้ารหัสตามรูปแบบการเข้ารหัสที่ส่งผ่าน