```\nfunction toHexString(uint256 value, uint256 length) internal pure returns (string memory) {\n    bytes memory buffer = new bytes(2 * length + 2);\n    buffer[0] = "0";\n    buffer[1] = "x";\n    for (uint256 i = 2 * length + 1; i > 1; --i) {\n        buffer[i] = _HEX_SYMBOLS[value & 0xf];\n        value >>= 4;\n    }\n    require(value == 0, "Strings: hex length insufficient");\n    return string(buffer);\n}\n```\n