Làm cách nào để mã hóa và giải mã dữ liệu trong JavaScript?
Trong bài viết trước, tôi đã đề cập đến Chuyển đổi chuỗi hình ảnh thành chuỗi base64 bằng Javascript nhưng trong bài viết này, tôi đã đề cập đến cách chúng ta có thể Mã hóa và Giải mã chuỗi hoặc văn bản trong Javascript để bảo mật văn bản bằng Crypto JS hoặc không sử dụng bất kỳ plugin/Thư viện bên ngoài nào Show
Sử dụng CryptoJSĐể mã hóa và sau đó giải mã chuỗi hoặc văn bản bằng Javascript, một trong những phương pháp dễ dàng và an toàn nhất là sử dụng thư viện CryptoJS, thư viện này cung cấp cho chúng tôi triển khai JavaScript của các thuật toán mã hóa tiêu chuẩn và an toàn Chúng nhanh và có giao diện nhất quán và đơn giản Có nhiều thuật toán mà bạn có thể áp dụng để mã hóa/giải mã văn bản bằng CryptoJS, chẳng hạn như MD5, SHA-1, SHA-2, SHA-3, AES, v.v. Chúng tôi sẽ xem xét sử dụng ví dụ về Thuật toán AES trong bài viết này, dễ sử dụng và đơn giản Giả sử chúng ta có HTML mẫu như bên dưới
Sau đó, sử dụng CryptoJS, chúng tôi có javascript để mã hóa và giải mã chuỗi như bên dưới
Nếu bạn xem mã javascript ở trên, chúng tôi có cấu hình hoặc cài đặt mẫu này cho CryptoJS bằng AES
câu đố mẫu. https. //jsfiddle. mạng/1kd46qaz/ Không sử dụng Thư viện bên ngoàiNếu bạn không thích phương pháp sử dụng Thư viện bên ngoài như CryptoJS ở trên, thì bạn có thể tạo hàm javascript của riêng mình để mã hóa và giải mã chuỗi, nhưng nó sẽ không an toàn như trên
đầu ra
Đây là mẫu Fiddle. https. //jsfiddle. net/8zvyfmgd/1/ Ngoài ra còn có các thư viện bên ngoài khác để mã hóa văn bản thuần túy trong javascript, nhưng tôi sẽ đề xuất bạn sử dụng CryptoJS hoặc bạn có thể sử dụng 'sodium-plus' Chương trình Giáo dục Kỹ thuật (EngEd) này được hỗ trợ bởi Mục. Triển khai tức thì các container trên nhiều nhà cung cấp đám mây trên toàn cầu Dùng thử miễn phí Mã hóa và giải mã dữ liệu trong nút. js sử dụng tiền điện tử Ngày 23 tháng 6 năm 2021
Các ứng dụng web có quyền truy cập vào một lượng lớn dữ liệu thuộc về mọi người, tổ chức và chính phủ. Dữ liệu được truy cập càng nhiều, mối đe dọa đối với bảo mật dữ liệu càng cao. Trong ngành phát triển phần mềm, các nhà phát triển sử dụng các kỹ thuật mật mã và mã hóa để bảo vệ dữ liệu nhạy cảm khỏi các bên độc hại Mật mã được sử dụng để bảo mật dữ liệu được lưu trữ trong cơ sở dữ liệu hoặc được truyền qua mạng công nghiệp phát triển phần mềm. Khi xử lý, di chuyển và lưu trữ dữ liệu, bạn phải thực hiện một cách an toàn và bảo mật Như vậy với tư cách là một nút. js, bạn nên hiểu cách mã hóa và giải mã dữ liệu để bảo mật dữ liệu do hệ thống của bạn xử lý. Nút. js có một thư viện tích hợp tên là Mã hóa và giải mã nhằm tăng cường an toàn. Bài viết này sẽ giúp bạn tìm hiểu cách sử dụng Node. js Mục lụcđiều kiện tiên quyếtHiểu biết toàn diện về mật mã và nút. js được yêu cầu trước khi đọc bài viết này. Ngoài ra, bạn nên có
Mật mã trong nút. jsMật mã là rất quan trọng để phát triển phần mềm. Dữ liệu phải được bảo vệ. Mật mã học là một nghiên cứu về các kỹ thuật về cách giữ an toàn cho dữ liệu. Nó chuyển đổi dữ liệu thành bí mật bằng cách chuyển đổi văn bản rõ ràng thành văn bản không thể đọc được và ngược lại. Do đó chỉ người gửi và người nhận dữ liệu đó mới có thể hiểu được nội dung của nó Ba thành phần chính của một hệ thống mật mã bao gồm bản rõ, bản mã và thuật toán. Để giữ bí mật thông tin, chúng tôi sử dụng mật mã và thuật toán biến bản rõ thành bản mã. Chuyển đổi dữ liệu thành văn bản không thể đọc được gọi là mã hóa và đảo ngược dữ liệu trở lại văn bản rõ ràng là giải mã Các thuật toán mật mã sử dụng một khóa để chuyển văn bản rõ thành bản mã. Chỉ có thể chuyển đổi bản mã trở lại bản rõ nếu bạn có đúng chìa khóa bên mình Bạn sử dụng mã hóa đối xứng nếu bạn mã hóa và giải mã dữ liệu bằng cùng một khóa. Mã hóa bất đối xứng được sử dụng nếu các khóa khác nhau được sử dụng để mã hóa và giải mã Để bảo vệ dữ liệu trong Node. js, bạn phải lưu trữ mật khẩu đã băm trong cơ sở dữ liệu. Bằng cách này, bạn không thể chuyển đổi dữ liệu thành văn bản gốc sau khi được băm. Nó phải được xác minh Nếu những kẻ tấn công độc hại có quyền truy cập vào cơ sở dữ liệu, chúng sẽ không đọc dữ liệu vì nó đã được mã hóa. Hơn nữa, họ không có chìa khóa để giúp họ làm điều đó Nút. mô-đun mật mã jsnút. js Mô-đun Như đã nêu trước đó, Mô-đun Bạn có thể muốn mã hóa và giải mã dữ liệu cho mục đích truyền tải. Đây là nơi các hàm 4 và 5 xuất hiện. Bạn mã hóa dữ liệu bằng một 4 và giải mã nó bằng một 5. Ngoài ra, bạn có thể muốn mã hóa dữ liệu trước khi lưu trữ trong cơ sở dữ liệuĐể xác minh mật khẩu được mã hóa hoặc băm. Tốt nhất là nên có chức năng 8. Hãy để chúng tôi khám phá mã hóa và giải mã dữ liệu và triển khai Node. ứng dụng js sử dụng crypto Bắt đầu với một nút. dự án jsChúng ta sẽ tạo một Node. dự án js để làm việc với
Theo mặc định, mô-đun
Bạn không cần thực thi lệnh nếu Cách mã hóa dữ liệu trong Node. jsĐể bắt đầu, hãy tạo tệp 4 và xác định các chức năng mã hóa của chúng tôi như hình bên dướiTrước tiên, bạn sẽ nhập mô-đun
Trong khi mã hóa dữ liệu, điều quan trọng là sử dụng thuật toán. Trong dự án này, chúng tôi sử dụng 6Phương pháp 7 được sử dụng để tạo dữ liệu ngẫu nhiên được tạo bằng mật mã được tạo trong mã viết 8 (vectơ khởi tạo) được sử dụng ở đây để chứa 16 byte dữ liệu ngẫu nhiên từ phương thức 9 và 0 chứa 32 byte dữ liệu ngẫu nhiên
Để mã hóa dữ liệu, hàm 4 được sử dụng. Chức năng 4 của dự án của chúng tôi được thực hiện bằng cách sử dụng 3, vectơ khởi tạo từ mô-đun crypto Truyền đối số đầu tiên làm thuật toán chúng ta đang sử dụng, đối số thứ hai là 0 và 8 làm đối số thứ baĐể mã hóa tin nhắn, hãy sử dụng phương pháp 7 trên 4. Chuyển đối số đầu tiên dưới dạng 9, đối số thứ hai là 0 (mã hóa đầu vào) và 1 (mã hóa đầu ra) làm đối số thứ ba
Đoạn mã yêu cầu 4 dừng mã hóa bằng phương pháp 3. Khi phương thức 3 được gọi, không thể sử dụng phương thức 4 một lần nữa để mã hóa dữ liệuSau đó, tin nhắn được mã hóa và những kẻ tấn công nguy hiểm không thể hiểu được dữ liệu được mã hóa. Dưới đây là một ví dụ về cách mã hóa dữ liệu
Đây là đầu ra Cách giải mã dữ liệu trong Node. jsGiải mã dữ liệu theo một định dạng tương tự như mã hóa dữ liệu. Trong nút của chúng tôi. js, chúng ta sẽ sử dụng hàm 5 để giải mã dữ liệu. Vì vậy, dự án của chúng tôi mã hóa và giải mã dữ liệuDưới đây là một ví dụ về cách giải mã dữ liệu
Thực hiện theo ví dụ dưới đây để mã hóa và giải mã dữ liệu bằng tiền điện tử
Đây là đầu ra kết thúcBài viết này đã xem xét mã hóa và giải mã dữ liệu trong Node. js sử dụng mô-đun
Tôi hy vọng bạn đã có được kiến thức vững chắc về mã hóa và giải mã cũng như cách sử dụng mô-đun Làm cách nào để mã hóa đối tượng giải mã trong JavaScript?Để mã hóa và giải mã đối tượng JavaScript theo nghĩa đen, chỉ cần sử dụng hàm mã hóa() và giải mã() từ một phiên bản . Điều này sẽ sử dụng thuật toán mã hóa AES-CBC.
Làm cách nào để mã hóa dữ liệu trong JavaScript?Mã hóa đối tượng . dữ liệu var = [{ foo. thanh}, { thanh. foo}]; var ciphertext = CryptoJS. AES. mã hóa (JSON. stringify(dữ liệu), 'khóa bí mật 123'); var byte = CryptoJS. AES. giải mã (bản mã. toString(), 'khóa bí mật 123'); var decryptedData = JSON. phân tích cú pháp (byte. toString(CryptoJS. enc. UTF8)); Làm cách nào để giải mã mã JavaScript?Để giải mã bản mã trở lại thành tin nhắn văn bản thuần túy ban đầu, chúng ta có thể sử dụng chức năng giải mã sau. const decrypted = CryptoJS. AES. giải mã(mã hóa, khóa);
Làm cách nào để mã hóa mật khẩu bằng JavaScript?Để mã hóa phía máy khách, bạn phải sử dụng hai javascript. Trong biểu mẫu này, tôi đã tạo một trường mật khẩu và một trường ẩn. Trường ẩn được sử dụng để giữ giá trị của mật khẩu thực. Trong javascript trên, tôi đã tạo một hàm mã hóa() . |