MCPcopy Create free account
hub / github.com/CalcProgrammer1/OpenRGB / Encrypt

Method Encrypt

Controllers/KasaSmartController/KasaSmartController.cpp:280–295  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

278}
279
280unsigned char* KasaSmartController::Encrypt(const std::string request)
281{
282 /*----------------------------------------------------------------*\
283 | "Encrypted" payload consists of size as a uint32 + XOR'd payload |
284 \*----------------------------------------------------------------*/
285 unsigned long size = htonl(request.length());
286 int payload_size = request.length() + sizeof(size);
287 unsigned char* payload = new unsigned char[payload_size];
288 memcpy(payload, &size, sizeof(size));
289 unsigned char* request_data = new unsigned char[request.length()];
290 memcpy(request_data, request.data(), request.length());
291 KasaSmartController::XorPayload(request_data, request.length());
292 memcpy(payload + sizeof(size), request_data, request.length());
293 delete[] request_data;
294 return payload;
295}
296
297std::string KasaSmartController::Decrypt(const unsigned char* encrypted, int length, std::string &response)
298{

Callers

nothing calls this directly

Calls 1

dataMethod · 0.80

Tested by

no test coverage detected