Page cover image

⚙️端到端加密

端到端加密确保只有通信的双方可以访问和读取消息内容,任何第三方,包括Alien的服务器,都无法解密这些信息。

  • 非对称加密(RSA): 使用RSA公钥/私钥对消息进行加密和解密。发送方使用接收方的公钥加密消息,接收方使用自己的私钥解密消息。

  • 对称加密(AES): 为了提高效率,消息内容使用AES对称加密,密钥通过RSA加密后传输。

// 示例:端到端加密消息

import { encrypt, decrypt, generateKeyPair } from 'crypto';

const { publicKey, privateKey } = generateKeyPair();

// 加密消息

function encryptMessage(message, recipientPublicKey) {

const encryptedMessage = encrypt(recipientPublicKey, Buffer.from(message));

return encryptedMessage.toString('base64');

}

// 解密消息

function decryptMessage(encryptedMessage, recipientPrivateKey) {

const decryptedMessage = decrypt(recipientPrivateKey, Buffer.from(encryptedMessage, 'base64'));

return decryptedMessage.toString();

}