Laravel  
laravel
文档
数据库
架构
入门
php技术
    
Laravelphp
laravel / php / java / vue / mysql / linux / python / javascript / html / css / c++ / c#

js rsa

作者:炼狱死神   发布日期:2025-03-15   浏览:101

// 引入依赖库
const rsa = require('node-rsa'); // 需要安装 node-rsa 库

// 创建一个新的 RSA 密钥对
const key = new rsa({ b: 512 }); // b 表示密钥长度,单位为 bit

// 获取公钥和私钥
const publicKey = key.exportKey('public'); // 导出公钥
const privateKey = key.exportKey('private'); // 导出私钥

console.log('Public Key:', publicKey);
console.log('Private Key:', privateKey);

// 加密数据
function encrypt(data) {
    const encrypted = key.encrypt(data, 'base64', 'utf8'); // 使用公钥加密
    return encrypted;
}

// 解密数据
function decrypt(encryptedData) {
    const decrypted = key.decrypt(encryptedData, 'utf8'); // 使用私钥解密
    return decrypted;
}

// 示例用法
const originalText = 'Hello, RSA!';
const encryptedText = encrypt(originalText);
console.log('Encrypted Text:', encryptedText);

const decryptedText = decrypt(encryptedText);
console.log('Decrypted Text:', decryptedText);

解释说明:

  1. 引入依赖库:我们使用 node-rsa 库来生成 RSA 密钥对并进行加解密操作。你需要通过 npm install node-rsa 来安装该库。
  2. 创建 RSA 密钥对:使用 new rsa({ b: 512 }) 创建一个 512 位的 RSA 密钥对。你可以根据需要调整密钥长度。
  3. 导出公钥和私钥:通过 exportKey 方法可以分别导出公钥和私钥。
  4. 加密和解密函数:定义了两个函数 encryptdecrypt 分别用于加密和解密数据。加密时使用公钥,解密时使用私钥。
  5. 示例用法:展示了如何加密和解密一段文本,并打印结果。

希望这段代码对你有帮助!

上一篇:js delegate

下一篇:js function 返回值

大家都在看

js 数组对象排序

js 数组删掉第一个值

js fill

js 数组复制

js 复制数组

js 数组拷贝

js 对象转数组

js 深拷贝数组

js 获取今天年月日

js jsonp

Laravel PHP 深圳智简公司。版权所有©2023-2043 LaravelPHP 粤ICP备2021048745号-3

Laravel 中文站