{"id":22202886,"url":"https://github.com/localzet/lwt","last_synced_at":"2026-02-09T10:03:12.501Z","repository":{"id":190679573,"uuid":"683203815","full_name":"localzet/LWT","owner":"localzet","description":"Localzet LWT is a library for working with Localzet Web Tokens, which are based on JWT (JSON Web Tokens). It provides functionality for creating, verifying, and handling tokens using modern technologies and standards.","archived":false,"fork":false,"pushed_at":"2024-10-06T22:16:28.000Z","size":87,"stargazers_count":3,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-07-27T06:01:29.066Z","etag":null,"topics":["library","security"],"latest_commit_sha":null,"homepage":"https://localzet.github.io/LWT/","language":"PHP","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"agpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/localzet.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":".github/CONTRIBUTING.md","funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":".github/CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null},"funding":{"github":["localzet"]}},"created_at":"2023-08-25T21:10:41.000Z","updated_at":"2025-07-10T07:21:32.000Z","dependencies_parsed_at":null,"dependency_job_id":"4312f9eb-f7ea-441f-8aad-bdc8acb4c9ed","html_url":"https://github.com/localzet/LWT","commit_stats":null,"previous_names":["localzet/lwt"],"tags_count":8,"template":false,"template_full_name":null,"purl":"pkg:github/localzet/LWT","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/localzet%2FLWT","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/localzet%2FLWT/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/localzet%2FLWT/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/localzet%2FLWT/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/localzet","download_url":"https://codeload.github.com/localzet/LWT/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/localzet%2FLWT/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29261651,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-09T04:11:57.159Z","status":"ssl_error","status_checked_at":"2026-02-09T04:11:56.117Z","response_time":56,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["library","security"],"created_at":"2024-12-02T16:38:41.637Z","updated_at":"2026-02-09T10:03:12.485Z","avatar_url":"https://github.com/localzet.png","language":"PHP","funding_links":["https://github.com/sponsors/localzet"],"categories":[],"sub_categories":[],"readme":"\u003cp align=\"center\"\u003e\u003ca href=\"https://www.localzet.com\" target=\"_blank\"\u003e\n  \u003cimg src=\"https://static.zorin.space/media/logos/ZorinProjectsSP.svg\" width=\"400\"\u003e\n\u003c/a\u003e\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003ca href=\"https://packagist.org/packages/localzet/lwt\"\u003e\n  \u003cimg src=\"https://img.shields.io/packagist/dt/localzet/lwt?label=%D0%A1%D0%BA%D0%B0%D1%87%D0%B8%D0%B2%D0%B0%D0%BD%D0%B8%D1%8F\" alt=\"Скачивания\"\u003e\n\u003c/a\u003e\n  \u003ca href=\"https://github.com/localzet/lwt\"\u003e\n  \u003cimg src=\"https://img.shields.io/github/commit-activity/t/localzet/lwt?label=%D0%9A%D0%BE%D0%BC%D0%BC%D0%B8%D1%82%D1%8B\" alt=\"Коммиты\"\u003e\n\u003c/a\u003e\n  \u003ca href=\"https://packagist.org/packages/localzet/lwt\"\u003e\n  \u003cimg src=\"https://img.shields.io/packagist/v/localzet/lwt?label=%D0%92%D0%B5%D1%80%D1%81%D0%B8%D1%8F\" alt=\"Версия\"\u003e\n\u003c/a\u003e\n  \u003ca href=\"https://packagist.org/packages/localzet/lwt\"\u003e\n  \u003cimg src=\"https://img.shields.io/packagist/dependency-v/localzet/lwt/php?label=PHP\" alt=\"Версия PHP\"\u003e\n\u003c/a\u003e\n  \u003ca href=\"https://github.com/localzet/lwt\"\u003e\n  \u003cimg src=\"https://img.shields.io/github/license/localzet/lwt?label=%D0%9B%D0%B8%D1%86%D0%B5%D0%BD%D0%B7%D0%B8%D1%8F\" alt=\"Лицензия\"\u003e\n\u003c/a\u003e\n\u003c/p\u003e\n\n# LWT - Localzet Web Tokens \u003ci\u003e(JWT-based)\u003c/i\u003e\n\nКласс `LWT` предоставляет методы для кодирования и декодирования LWT-токенов. Он использует алгоритмы шифрования AES и RSA для шифрования данных в токене.\n\n## Использование\n\n### Кодирование LWT-токена\n\nЧтобы кодировать LWT-токен, используйте метод `encode()` класса `LWT`. Этот метод принимает данные, закрытый ключ и алгоритм шифрования (по умолчанию `ES512`) в качестве аргументов. \n\n\u003eЕсли закрытый ключ и алгоритм шифрования не указаны, используются значения, определенные в классе.\n\n```php\n$data = ['username' =\u003e 'localzet', 'email' =\u003e 'creator@localzet.com'];\n$tokenPrivateKey = '...'; // Закрытый ключ для шифрования токена (рекомендую ECDSA)\n$tokenEncryption = 'HS256'; // Алгоритм шифрования (по умолчанию ES512)\n\n$encodedToken = LWT::encode($data, $tokenPrivateKey, $tokenEncryption);\n```\n\n### Декодирование LWT-токена\n\nЧтобы декодировать LWT-токен и получить расшифрованные данные, используйте метод `decode()` класса `LWT`. Этот метод принимает закодированный токен, публичный ключ и алгоритм шифрования в качестве аргументов. \n\n\u003eЕсли публичный ключ и алгоритм шифрования не указаны, используются значения, определенные в классе.\n\n```php\n$encodedToken = '...'; // Закодированный LWT-токен\n$tokenPublicKey = '...'; // Публичный ключ для шифрования токена (рекомендую ECDSA)\n$tokenEncryption = 'HS256'; // Алгоритм шифрования (по умолчанию ES512)\n\n$decodedData = LWT::decode($encodedToken, $tokenPublicKey, $tokenEncryption);\n```\n\n### Кодирование данных в LWT-токене\n\nЧтобы закодировать данные в LWT-токене и дополнительно обезопасить их, используйте методы `encode()` и `decode()` класса `LWT` с дополнительными аргументами. \nЭти методы принимают дополнительные ключи для шифрования данных в полезной нагрузке комбинацией ассиметричного (RSA) и симметричного (AES-256-CBC) алгоритмов.\n\n\u003eЕсли дополнительные ключи для шифрования данных не указаны, данные загружаются в полезную нагрузку в неизменном виде.\n\n```php\n$encodedToken = '...'; // Закодированный LWT-токен\n$tokenPublicKey = '...'; // Публичный ключ для шифрования токена (рекомендую ECDSA)\n$tokenEncryption = 'HS256'; // Алгоритм шифрования (по умолчанию ES512)\n\n$decodedData = LWT::decode($encodedToken, $tokenPublicKey, $tokenEncryption);\n```\n\n## Настройка\n\nКласс `LWT` имеет несколько статических свойств и констант, которые можно настроить для изменения поведения кодирования и декодирования токенов.\n\n### Настройка JWT-совместимого алгоритма шифрования LWT-токена\n\nЧтобы изменить алгоритм шифрования для сигнатуры, измените значение константы `LWT_ENCRYPTION`.\n\n\u003eВозможные значения: \\\n\u003e **HMAC-based**: HS256, HS384, HS512 \\\n\u003e **RSA-based**: RS256, RS384, RS512 \\\n\u003e **ECDSA-based**: ES256, ES384, ES512\n```php\n// Изменение алгоритма шифрования для сигнатуры LWT-токена (рекомендую ES512)\nLWT::LWT_ENCRYPTION = 'ES512';\n```\n\n### Настройка закрытого и публичного ключей LWT-токена\n\nЧтобы изменить закрытый или публичный ключи для кодирования или декодирования LWT-токена, измените значения статических свойств `$LWT_PRIVATE_KEY` и `$LWT_PUBLIC_KEY` соответственно.\n\n```php\n// Изменение закрытого ключа для кодирования LWT-токена\nLWT::$LWT_PRIVATE_KEY = '...'; // Закрытый ключ в формате PEM (рекомендую ECDSA)\n\n// Изменение публичного ключа для декодирования LWT-токена\nLWT::$LWT_PUBLIC_KEY = '...'; // Публичный ключ в формате PEM (рекомендую ECDSA)\n```\n\n### Настройка закрытого и публичного ключей данных\n\nЧтобы изменить закрытый или публичный ключи для шифрования или расшифровки данных, измените значения статических свойств `$DATA_PRIVATE_KEY` и `$DATA_PUBLIC_KEY` соответственно.\n\n```php\n// Изменение закрытого ключа для шифрования данных\nLWT::$DATA_PRIVATE_KEY = '...'; // Закрытый ключ RSA\n\n// Изменение публичного ключа для расшифровки данных\nLWT::$DATA_PUBLIC_KEY = '...'; // Публичный ключ RSA\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flocalzet%2Flwt","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Flocalzet%2Flwt","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flocalzet%2Flwt/lists"}