Crypto.privateEncrypt () được sử dụng để mã hóa nội dung dữ liệu nhất định bằng cách sử dụng tham số khóa riêng đã cho được truyền vào hàm.
Cú pháp
crypto.privateEncrypt (privateKey, bộ đệm)
Tham số
Các thông số trên được mô tả như bên dưới -
-
privateKey - Nó có thể chứa các kiểu dữ liệu sau - Đối tượng, Chuỗi, Bộ đệm hoặc KeyObject.
-
phím - Khóa này là khóa riêng được mã hóa 'PEM'. Khóa có thể thuộc loại chuỗi, bộ đệm hoặc KeyObject.
-
cụm mật khẩu - Đây là giá trị cụm mật khẩu tùy chọn cho khóa cá nhân.
-
đệm - Đây là một giá trị tùy chọn được xác định trong crypto.constants.
-
-
đệm - Trường này chứa nội dung dữ liệu cần giải mã. Các loại bộ đệm có thể có là:string, TypedArray, Buffer, ArrayBuffer, DataView.
Ví dụ
Tạo một tệp có tên - privateEncrypt.js và sao chép đoạn mã bên dưới. Sau khi tạo tệp, sử dụng lệnh sau để chạy mã này như được hiển thị trong ví dụ bên dưới -
nút privateEncrypt.js
privateEncrypt.js
// Chương trình Node.js để chứng minh quy trình của phương thức crypto.privateEncrypt () // Nhập tiền điện tử và fs moduleconst crypto =request ('crypto'); const fs =request ("fs"); // Tạo khóa các tệp sử dụng hàm method createKeyPairSync () createKeyFiles () {const keyPair =crypto.generateKeyPairSync ('rsa', {modulusLength:530, publicKeyEncoding:{type:'spki', format:'pem'}, privateKeyEncoding:{type:'pkcs8' , định dạng:'pem', mật mã:'aes-256-cbc', cụm mật khẩu:''}}); // Viết các khóa trong các tệp sau fs.writeFileSync ("private_key", keyPair.privateKey);} // Gọi Tạo khóa methodgenerateKeyFiles (); // Mã hóa chuỗi mã hóa phân biệt mã hóa (plaintext, publicKeyFile) {const publicKey =fs. readFileSync (publicKeyFile, "utf8"); // Mã hóa dữ liệu bằng phương thức privateEncrypt () và khóa công khai const mã hóa =crypto.privateEncrypt (publicKey, Buffer.from (plaintext)); trả về mã hóa.toString ("base64");} // Dữ liệu sau sẽ được mã hóa và giải mã. / In textconsole.log thuần túy ("Plaintext:", fineText); // In textconsole.log được mã hóa ("Văn bản được mã hóa:", được mã hóa); console.log ();
Đầu ra
>Ví dụ
Hãy xem thêm một ví dụ.
// Chương trình Node.js để chứng minh quy trình của phương thức crypto.privateEncrypt () // Nhập tiền điện tử và fs moduleconst crypto =request ('crypto'); const fs =request ("fs"); // Tạo khóa các tệp sử dụng hàm method createKeyPairSync () createKeyFiles () {const keyPair =crypto.generateKeyPairSync ('rsa', {modulusLength:530, publicKeyEncoding:{type:'spki', format:'pem'}, privateKeyEncoding:{type:'pkcs8' , định dạng:'pem', mật mã:'aes-256-cbc', cụm mật khẩu:''}}); // Viết các khóa trong các tệp sau fs.writeFileSync ("private_key", keyPair.privateKey);} // Gọi Tạo khóa methodgenerateKeyFiles (); // Mã hóa chuỗi mã hóa phân biệt mã hóa (plaintext, publicKeyFile) {const publicKey =fs. readFileSync (publicKeyFile, "utf8"); // Mã hóa dữ liệu bằng phương thức privateEncrypt () và khóa công khai const mã hóa =crypto.privateEncrypt (publicKey, Buffer.from (plaintext)); trả về mã hóa;} // Dữ liệu sau sẽ được mã hóa và giải mã. ("Plaintext:", fineText); // In textconsole.log được mã hóa ("Encrypted Buffer:", đã được mã hóa); console.log ();
Đầu ra
C:\ home \ node>> node privateEncrypt.jsPlaintext:TutorialsPoint! Bộ đệm được mã hóa: