Làm cách nào để tạo hàm băm tệp MD5 trong Node.js?

Lam Cach Nao De Tao Ham Bam Tep Md5 Trong Node Js



Các ' Băm MD5 ” đóng một vai trò quan trọng trong việc bảo mật dữ liệu của nhà phát triển bằng cách duy trì tính toàn vẹn của dữ liệu. Đó là điều mà Node.js “ mật mã ” thư viện được sử dụng để tính toán các giá trị băm cho các tập tin, chẳng hạn như “ MD5 ” để xác minh tính toàn vẹn của việc truyền tải hoặc lưu trữ. Cách tiếp cận này hỗ trợ xác nhận nhà phát triển về các lỗ hổng hoặc giả mạo tệp, từ đó giữ an toàn cho dữ liệu.

Nội dung Tổng quan

Băm tệp MD5 là gì?

MD5 ” là hàm một chiều lấy dữ liệu thuộc bất kỳ loại nào làm đầu vào và ánh xạ nó tới chuỗi đầu ra có kích thước cố định, bất kể kích thước của chuỗi đã cho. Hàm băm tạo ra hàm băm đầu ra giống/giống hệt cho chuỗi được cung cấp.

Do đó, chuỗi này có thể được sử dụng để xác thực các tệp hoặc văn bản khi truyền qua mạng và MD5 xác minh xem dữ liệu có hợp lệ hay không. Dưới đây là cuộc biểu tình:







Giá trị đầu vào Giá trị băm được trả về
JavaScript 686155af75a60a0f6e9d80c1f7edd3e9
Liam*88 c9c77fd293a9bb6d172e36a4a04053ea

Điều kiện tiên quyết để tạo hàm băm tệp MD5 trong JavaScript

Sau đây là các điều kiện tiên quyết cần được xem xét trước khi tạo hàm băm tệp MD5:



Bước 1: Thiết lập dự án

Trước hết, hãy khởi tạo dự án với các giá trị mặc định (thông qua “ -Và ” flag) bằng lệnh ghép ngắn sau:



npm init -





Mẹo thưởng: Tạo một ' mẫu.cjs ” thay vì tập tin “ mẫu.js ” tập tin để tránh “ mô-đun ” lỗi gõ.

Bước 2: Tạo tệp văn bản

Tạo tập tin văn bản “ tập tin văn bản.txt ” để tạo giá trị băm MD5 từ nội dung tệp. Sau đây là nội dung tập tin được đánh giá:



Ngoài ra, hãy lưu ý rằng “ mật mã ” mô-đun sẽ được yêu cầu. Vì đây là mô-đun tích hợp của Node.js nên không cần phải cài đặt hoặc định cấu hình. Dưới đây là cuộc biểu tình:

npm cài đặt tiền điện tử

Ở đây, rõ ràng là không cần phải cài đặt riêng mô-đun này.

Làm cách nào để tạo hàm băm tệp MD5 trong Node.js?

Băm MD5 của một tập tin có thể được tạo ra với sự trợ giúp của “ mật mã ” mô-đun và các phương thức của nó chẳng hạn như “ createHash() ' Và ' tiêu() ”. Mô-đun này cung cấp các phương thức mã hóa để đảm bảo an toàn cho dữ liệu trong Node.js.

Các phương pháp phổ biến được sử dụng để tạo hàm băm tệp MD5 trong Node.js

Sau đây là các phương pháp thường được sử dụng để tạo hàm băm md5 của tệp:

readFileSync(): Phương pháp này được sử dụng để đọc các tập tin một cách đồng bộ.

Cú pháp

fs. đọcFileSync ( pt, chọn )

Trong cú pháp đã cho:

  • điểm ” đề cập đến đường dẫn tương đối của tệp văn bản.
  • opt ” là tham số tùy chọn bao gồm mã hóa và cờ.

Giá trị trả về

Nó tìm nạp nội dung của tập tin.

createHash(): Phương thức này tạo ra một đối tượng băm để tạo ra các bản tóm tắt băm.

Cú pháp

mật mã. tạoHash ( alg, chọn )

Trong cú pháp này:

  • tảo ” biểu thị sự phụ thuộc vào các thuật toán có thể truy cập được phiên bản OpenSSL ưa chuộng.
  • opt ” là tham số tùy chọn kiểm soát hoạt động của luồng.

Giá trị trả về

Nó lấy đối tượng Hash.

hàm băm.digest(): Phương pháp này tạo ra dữ liệu của bản tóm tắt được truyền khi tạo hàm băm.

Cú pháp

băm. tiêu ( [ enc ] )

Đây, ' enc ” cho biết loại mã hóa có thể là “ thập lục phân ' hoặc ' cơ sở64 ”.

Giá trị trả về

Nó lấy chuỗi mã hóa đã truyền.

Ví dụ 1: Tạo hàm băm tệp MD5 trong Node.js

Ví dụ này tạo ra hàm băm md5 của nội dung tệp bằng cách sử dụng “ mật mã ' Và ' fs ” mô-đun:

hằng số nhận được 1 = yêu cầu ( 'tiền điện tử' ) ;

hằng số nhận được2 = yêu cầu ( 'fs' ) ;

hằng số readmd5 = lấy2. đọcFileSync ( 'textfile.txt' ) ;

hằng số ngoài = nhận được 1. tạoHash ( 'md5' ) . cập nhật ( readmd5 ) . tiêu ( 'hex' ) ;

bảng điều khiển. nhật ký ( 'Băm MD5 của một tập tin -> ' + ngoài ) ;

Giải thích mã như sau:

  • Đầu tiên, nhập “ mật mã ' Và ' fs ” để tạo hàm băm md5 và làm việc với các tệp tương ứng.
  • Bây giờ, hãy áp dụng “ readFileSync() ” để đọc tệp được chỉ định một cách đồng bộ.
  • Sau đó, áp dụng “ createHash() ” để tạo đối tượng băm md5 tham chiếu đến tệp.
  • Các quy định ' thập lục phân ” giá trị như “ tiêu() Tham số của phương thức ” đề cập đến loại mã hóa.
  • Cuối cùng, lấy hàm băm md5 của tệp tương ứng.

đầu ra

Thực thi lệnh ghép ngắn sau để tạo hàm băm tệp md5:

mẫu nút. cjs

Kết quả này ngụ ý rằng hàm băm md5 của tệp mục tiêu được trả về một cách thích hợp.

Ví dụ 2: Tạo hàm băm tệp MD5 và đọc tệp trong Node.js

Trong phần trình diễn này, hàm băm md5 của một tệp có thể được tìm nạp cùng với việc đọc nội dung tệp:

var bao gồm1 = yêu cầu ( 'fs' ) ;

đã bao gồm2 = yêu cầu ( 'tiền điện tử' ) ;

var getHash = ( nội dung ) => {

var genHash = bao gồm2. tạoHash ( 'md5' ) ;

dữ liệu = genHash. cập nhật ( nội dung, 'utf-8' ) ;

ngoài = dữ liệu. tiêu ( 'hex' ) ;

trở lại ngoài ;

}

var readFile = bao gồm1. tạoReadStream ( 'textfile.txt' ) ;

tài khoản vôi = ''

Đọc tài liệu. TRÊN ( 'dữ liệu' , chức năng ( đoạn ) {

tiếp tục += đoạn ;

} ) ;

Đọc tài liệu. TRÊN ( 'lỗi' , chức năng ( lỗi ) {

bảng điều khiển. nhật ký ( lỗi ) ;

} ) ;

Đọc tài liệu. TRÊN ( 'kết thúc' ,chức năng ( ) {

nội dung var = getHash ( tiếp tục ) ;

bảng điều khiển. nhật ký ( 'Nội dung tệp -> \N ' + tiếp tục ) ;

bảng điều khiển. nhật ký ( 'Băm MD5 của một tập tin ->' + nội dung ) ;

} ) ;

Theo khối mã này, hãy thực hiện các bước dưới đây:

  • Tương tự như vậy, bao gồm các mô-đun được thảo luận.
  • Bây giờ, chuyển dữ liệu cần băm bằng cách tạo một đối tượng băm md5 và chỉ định “ thập lục phân ' định dạng.
  • Sau đó, tạo luồng đọc để đọc nội dung của tệp được chỉ định.
  • Tiếp tục, đọc nội dung của tệp và xử lý các lỗi gặp phải, nếu có.
  • Cuối cùng, gọi “ getHash() ” để tính toán hàm băm md5 của nội dung tệp.

đầu ra

Chạy mã bên dưới để truy xuất hàm băm md5 của nội dung tệp:

mẫu nút. cjs

Từ kết quả này, có thể ngụ ý rằng nội dung của tệp cùng với hàm băm md5 của tệp được hiển thị phù hợp.

Cách tiếp cận thay thế 1: Tạo hàm băm MD5 của một chuỗi trong Node.js

Đoạn mã trình diễn sau đây tạo ra hàm băm md5 của một giá trị chuỗi:

là thông = 'Linux' ;

vôi bao gồm = yêu cầu ( 'tiền điện tử' ) ;

var makeHash = bao gồm. tạoHash ( 'md5' ) . cập nhật ( sợi dây ) . tiêu ( 'hex' ) ;

bảng điều khiển. nhật ký ( 'Băm MD5 của một chuỗi ->' + makeHash ) ;

Trong mã này:

  • Khởi tạo chuỗi mà giá trị băm md5 sẽ được truy xuất và bao gồm “ mật mã ” mô-đun.
  • Sau đó, tương tự như vậy, hãy áp dụng “ createHash() ' Và ' tiêu() ” để tạo một đối tượng băm và truy xuất chuỗi tương ứng với kiểu mã hóa đã truyền, tức là “hex”.
  • Cuối cùng, trả về hàm băm md5 của chuỗi đã xác định.

đầu ra

mẫu nút. cjs

Phương pháp thay thế 2: Tạo hàm băm MD5 của mật khẩu trong Node.js

Trong ví dụ này, hàm băm MD5 của mật khẩu có thể được tìm nạp thay thế:

là thông = '123*adQe&' ;

vôi bao gồm = yêu cầu ( 'tiền điện tử' ) ;

var makeHash = bao gồm. tạoHash ( 'md5' ) . cập nhật ( sợi dây ) . tiêu ( 'hex' ) ;

bảng điều khiển. nhật ký ( 'Băm MD5 của một mật khẩu -> ' + makeHash ) ;

Tại đây, hãy chỉ định mật khẩu và lặp lại các bước đã thảo luận để bao gồm “ mật mã ” mô-đun và áp dụng kết hợp “ cập nhật() ' Và ' tiêu() ” để tạo hàm băm md5 của mật khẩu.

đầu ra

Chạy lệnh ghép ngắn sau sẽ tạo ra hàm băm md5 của mật khẩu:

mẫu nút. cjs

Phần kết luận

Băm MD5 của một tệp có thể được tạo bằng cách cài đặt và nhập “ mật mã ” mô-đun và sử dụng các phương thức của nó như “ createHash() ' Và ' tiêu() ” v.v. Ngoài ra, hàm băm md5 của một chuỗi xác định hoặc mật khẩu cũng có thể được tạo. Về cơ bản, điều này bảo mật dữ liệu bằng cách mã hóa dữ liệu dựa trên định dạng mã hóa được truyền.