UNPKG

matterbridge-roborock-vacuum-plugin

Version:
15 lines 875 B
import crypto from 'node:crypto'; import * as CryptoUtils from '../../helper/cryptoHelper.js'; export class V01Serializer { encode(payload, localKey, timestamp, sequence, nonce, connectNonce, ackNonce) { const aesKey = CryptoUtils.md5bin(CryptoUtils.encodeTimestamp(timestamp) + localKey + CryptoUtils.SALT); const cipher = crypto.createCipheriv('aes-128-ecb', aesKey, null); return Buffer.concat([cipher.update(payload), cipher.final()]); } decode(payload, localKey, timestamp, sequence, nonce, connectNonce, ackNonce) { const aesKey = CryptoUtils.md5bin(CryptoUtils.encodeTimestamp(timestamp) + localKey + CryptoUtils.SALT); const decipher = crypto.createDecipheriv('aes-128-ecb', aesKey, null); return Buffer.concat([decipher.update(payload), decipher.final()]); } } //# sourceMappingURL=V01Serializer.js.map