esphome: on_boot: - lambda: |- // Test HMAC-SHA256 functionality #ifdef USE_SHA256 using esphome::hmac_sha256::HmacSHA256; HmacSHA256 hmac; // Test with key "key" and message "The quick brown fox jumps over the lazy dog" const char* key = "key"; const char* message = "The quick brown fox jumps over the lazy dog"; hmac.init(key, strlen(key)); hmac.add(message, strlen(message)); hmac.calculate(); char hex_output[65]; hmac.get_hex(hex_output); hex_output[64] = '\0'; ESP_LOGD("HMAC_SHA256", "HMAC-SHA256('%s', '%s') = %s", key, message, hex_output); // Expected: f7bc83f430538424b13298e6aa6fb143ef4d59a14946175997479dbc2d1a3cd8 const char* expected = "f7bc83f430538424b13298e6aa6fb143ef4d59a14946175997479dbc2d1a3cd8"; if (strcmp(hex_output, expected) == 0) { ESP_LOGI("HMAC_SHA256", "Test PASSED"); } else { ESP_LOGE("HMAC_SHA256", "Test FAILED. Expected %s", expected); } #else ESP_LOGW("HMAC_SHA256", "HMAC-SHA256 not available on this platform"); #endif hmac_sha256: