端到端加密
端到端加密确保只有通信的双方可以访问和读取消息内容,任何第三方,包括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();
}