乐趣区

关于前端:js对称加密和非对称加密js混淆加密

加密是计算机平安畛域的一个重要概念,用于爱护数据的机密性和完整性。随着计算机技术的一直倒退,加密技术也一直失去改良和倒退。在本文中,咱们将介绍一些最罕用的加密办法,并提供案例代码来帮忙读者更好地了解和利用这些技术。

1. 对称加密

对称加密是最罕用的加密办法之一。它应用雷同的密钥加密和解密数据,因而也称为共享密钥加密。对称加密算法的长处是加密和解密速度快,适宜解决大量数据。常见的对称加密算法包含 AES、DES、3DES 等。

以下是应用 AES 对称加密算法加密和解密数据的示例代码:

// 加密数据
function encryptData(data, key) {const cipher = crypto.createCipher('aes-256-cbc', key);
  let encrypted = cipher.update(data, 'utf8', 'hex');
  encrypted += cipher.final('hex');
  return encrypted;
}

// 解密数据
function decryptData(data, key) {const decipher = crypto.createDecipher('aes-256-cbc', key);
  let decrypted = decipher.update(data, 'hex', 'utf8');
  decrypted += decipher.final('utf8');
  return decrypted;
}

const data = 'Hello World!';
const key = 'my-secret-key';
const encryptedData = encryptData(data, key);
console.log('Encrypted data:', encryptedData);
const decryptedData = decryptData(encryptedData, key);
console.log('Decrypted data:', decryptedData);

2. 非对称加密

非对称加密是另一种罕用的加密办法,也称为公钥加密。它应用不同的密钥加密和解密数据,因而也称为公开密钥加密。非对称加密算法的长处是安全性高,能够爱护密钥的安全性。常见的非对称加密算法包含 RSA、DSA 等。

以下是应用 RSA 非对称加密算法加密和解密数据的示例代码:

// 生成 RSA 密钥对
const {publicKey, privateKey} = crypto.generateKeyPairSync('rsa', {modulusLength: 2048,});

// 加密数据
function encryptData(data, publicKey) {const encryptedData = crypto.publicEncrypt(publicKey, Buffer.from(data));
  return encryptedData.toString('base64');
}

// 解密数据
function decryptData(encryptedData, privateKey) {
  const decryptedData = crypto.privateDecrypt({ key: privateKey, passphrase: ''},
    Buffer.from(encryptedData, 'base64')
  );
  return decryptedData.toString('utf8');
}

const data = 'Hello World!';
const encryptedData = encryptData(data, publicKey);
console.log('Encrypted data:', encryptedData);
const decryptedData = decryptData(encryptedData, privateKey);
console.log('Decrypted data:', decryptedData);

jsjiami.com

如果您对文章内容有不同认识, 或者疑难,欢送到评论区留言,或者私信我都能够。

也能够到上方网站,底部有我联系方式详谈

如遇本人源码加密后没备份,能够找咱们解决解出复原源码,任何加密都能够

退出移动版