Sử dụng tiền điện tử nodejs

NodeJS được sử dụng để tạo nhiều ứng dụng và một số ứng dụng chứa thông tin bí mật nên có tính bảo mật cao. Để bảo mật thông tin đó, cần phải mã hóa chúng để tin tặc hoặc người ngoài không thể hiểu được.

Mã hóa có nghĩa là chuyển đổi thông tin thành dạng mà người khác không thể hiểu được. Quá trình chuyển đổi văn bản thuần thành định dạng được mã hóa được gọi là mã hóa

Hãy hiểu việc sử dụng mã hóa với một ví dụ. Giả sử chúng tôi đang tạo một trang web nơi chúng tôi yêu cầu tên người dùng và mật khẩu và chúng tôi lưu trữ dữ liệu đó trong cơ sở dữ liệu để xác thực người dùng khi họ quay lại. Nhưng cơ sở dữ liệu được sử dụng được lưu trữ trên đám mây của bên thứ ba và nó có thể bị tấn công cũng như mật khẩu và tên người dùng của người dùng có thể bị rò rỉ

Điều này được gọi là vi phạm dữ liệu

Để đảm bảo rằng ngay cả sau khi vi phạm dữ liệu

  • mật khẩu an toàn, chúng tôi phải mã hóa chúng thành một dạng mà tin tặc không thể hiểu được
  • Khi người dùng đến và đăng nhập, chúng tôi chỉ mã hóa mật khẩu đã nhập bằng cùng một thuật toán
  • Sau đó, chúng tôi khớp nó với cái được mã hóa trong cơ sở dữ liệu của chúng tôi
  • Nếu giống nhau thì xác thực người dùng

Hãy hiểu cách chúng ta có thể làm như vậy bằng cách sử dụng mô-đun mật mã NodeJS

Nút. mô-đun tiền điện tử js

Nút. js Crypto Module có thể được nhập bằng cách sử dụng câu lệnh bên dưới

cú pháp

const crypto = require('crypto');

Mã hóa dữ liệu bằng nút. mô-đun tiền điện tử js

nút. js Crypto Module cung cấp phương thức createCiphervie để chuyển đổi văn bản thuần túy thành văn bản mật mã. Phương thức này nhận ba đối số để tạo một đối tượng mật mã mà sau đó được sử dụng để mã hóa văn bản thuần túy

Danh sách các đối số được sử dụng bởi phương thức createCiphervie

  1. Thuật toán – Có nhiều thuật toán khác nhau có thể được sử dụng để mã hóa mật khẩu và để giải mã lại mật khẩu, bắt buộc phải sử dụng cùng một thuật toán
  2. Khóa – Khóa là một giá trị duy nhất phải giống nhau để mã hóa và giải mã, điều này đảm bảo rằng một trong hai hacker biết thuật toán mà họ không thể giải mã văn bản được mã hóa vì họ không biết khóa
  3. IV – Đối số cuối cùng là IV, vectơ khởi tạo, được sử dụng với khóa để thực hiện mã hóa và mô tả

cú pháp

crypto.createCipheriv(algorithm, key, iv);

Quy trình mã hóa bằng Node. mô-đun tiền điện tử js

  1. Chúng tôi sẽ bắt đầu với việc nhập mô-đun tiền điện tử
  2. Khởi tạo một hằng số chứa thuật toán chúng tôi muốn sử dụng
  3. Tạo khóa ngẫu nhiên và IV
  4. Tạo một hàm lấy văn bản làm đối số
  5. Bên trong hàm sử dụng phương thức createCiphervie và chuyển thuật toán, khóa và IV, sau đó đặt nó thành một mật mã biến
  6. Sử dụng biến mật mã để cập nhật văn bản được truyền dưới dạng đối số, điều này sẽ chuyển đổi văn bản thuần túy thành văn bản được mã hóa
  7. Sau đó nối văn bản được mã hóa và sử dụng mật mã. phương thức cuối cùng()
  8. Trả về một đối tượng chứa IV và văn bản được mã hóa

Ví dụ

Hãy mã hóa một chuỗi “Xin chào thế giới. ” sử dụng quy trình trên.  

const crypto = require('crypto');

const algorithm = 'aes-256-cbc';

const key = crypto.randomBytes(32);

const iv = crypto.randomBytes(16);

function encrypt(text) {
    let cipher = crypto.createCipheriv(algorithm, Buffer.from(key), iv);
    let encrypted = cipher.update(text);
    encrypted = Buffer.concat([encrypted, cipher.final()]);
    return { iv: iv.toString('hex'),
    encryptedData: encrypted.toString('hex') };
}

var encrypted = encrypt("Hello World!");
console.log("Encrypted Text: " + encrypted.encryptedData);

đầu ra

Encrypted Text: bd694d9bcf99f1268c18231a9d856a38

Giải mã bằng Node. mô-đun tiền điện tử js

Để giải mã, Node. js Mô-đun Crypto cung cấp một phương thức createDeciphervie hoạt động chính xác giống như createCiphervie.  

cú pháp

crypto.createDecipheriv(algorithm, key, iv);

Quy trình giải mã bằng Node. mô-đun tiền điện tử js

  1. Tạo một hàm lấy dữ liệu được mã hóa làm đối số
  2. Tìm nạp IV và văn bản được mã hóa từ đường chuyền dữ liệu làm đối số
  3. Sử dụng phương thức createDeciphervie và chuyển thuật toán, khóa và IV, sau đó đặt hàm thành một bộ giải mã biến
  4. Sử dụng biến giải mã để cập nhật văn bản được giải mã
  5. Sau đó nối văn bản được giải mã và sử dụng giải mã. phương thức cuối cùng()
  6. Trả lại văn bản thuần túy

Ví dụ

Chúng tôi sử dụng dữ liệu nhận được làm đầu ra của phương thức mã hóa và sau đó giải mã nó để lấy văn bản thuần túy. Để nhận được cùng một văn bản thuần túy, thuật toán, khóa và IV phải giống nhau

const crypto = require('crypto');

const algorithm = 'aes-256-cbc';

const key = crypto.randomBytes(32);

const iv = crypto.randomBytes(16);

function encrypt(text) {
    let cipher = crypto.createCipheriv(algorithm, Buffer.from(key), iv);
    let encrypted = cipher.update(text);
    encrypted = Buffer.concat([encrypted, cipher.final()]);
    return { iv: iv.toString('hex'),
    encryptedData: encrypted.toString('hex') };
}

var encrypted = encrypt("Hello World!");

function decrypt(text) {
    let iv = Buffer.from(text.iv, 'hex');
    let encryptedText = Buffer.from(text.encryptedData, 'hex');

    let decipher = crypto.createDecipheriv(algorithm, Buffer.from(key), iv);

    let decrypted = decipher.update(encryptedText);
    decrypted = Buffer.concat([decrypted, decipher.final()]);

    return decrypted.toString();
}

const decrypted = decrypt(encrypted)
console.log("Decrypted Text: " + decrypted);    

đầu ra

Decrypted Text: Hello World!

Bản tóm tắt

Nút. js Crypto được sử dụng để mã hóa và mô tả nhằm đảm bảo tính bảo mật của tin nhắn. Nó có thể được sử dụng để mã hóa mật khẩu và dữ liệu quan trọng. Nó cũng có thể được sử dụng khi tạo một ứng dụng trò chuyện để mã hóa tin nhắn trước khi gửi để tin tặc không thể đọc được. Hy vọng bài viết này sẽ giúp các bạn hiểu về bộ xử lý mã hóa và giải mã bằng Node. mô-đun tiền điện tử js.  

Tại sao chúng tôi sử dụng tiền điện tử trong js?

Mô-đun này có thể được sử dụng để mã hóa, giải mã hoặc băm bất kỳ loại dữ liệu nào . Việc mã hóa và giải mã này về cơ bản giúp bảo mật và thêm một lớp xác thực cho dữ liệu. Trường hợp sử dụng chính của mô-đun mật mã là chuyển đổi văn bản có thể đọc được đơn giản sang định dạng được mã hóa và giải mã nó khi được yêu cầu.

Làm cách nào để giải mã bằng tiền điện tử trong NodeJS?

Quy trình giải mã bằng Node. mô-đun tiền điện tử js . Fetch the IV and encrypted text from the data pass as an argument. Sử dụng phương thức createDeciphervie và chuyển thuật toán, khóa và IV sau đó đặt hàm thành bộ giải mã biến. Sử dụng biến giải mã để cập nhật văn bản được giải mã.

Chúng ta có thể sử dụng NodeJS cho blockchain không?

Nút. js là môi trường phụ trợ JavaScript chạy mã JavaScript bên ngoài trình duyệt. Trong bài viết này, chúng tôi sẽ giới thiệu về Node. js nhà phát triển đến với không gian chuỗi khối bằng cách tạo một loại tiền điện tử đơn giản .

Tiền điện tử có phải là trình tạo mật khẩu cho NodeJS không?

Mô-đun tiền điện tử cho Node JS giúp nhà phát triển băm mật khẩu người dùng . Để chứng minh việc sử dụng mô-đun Crypto, chúng tôi có thể tạo API đăng nhập và đăng ký đơn giản và kiểm tra nó bằng Postman.