{"id":18983565,"url":"https://github.com/alivx/encryption-service","last_synced_at":"2026-04-11T20:30:19.124Z","repository":{"id":264499656,"uuid":"254954752","full_name":"alivx/encryption-service","owner":"alivx","description":"This project like a Encryption as service somehow, this service provide a high performance, and secure way to store text based data using Themis and Redis.","archived":false,"fork":false,"pushed_at":"2024-05-10T14:08:22.000Z","size":26,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-02-17T04:12:50.634Z","etag":null,"topics":["curl","docker","docker-compose","encryption","fastapi","redis","service","themis"],"latest_commit_sha":null,"homepage":"https://github.com/alivx/encryption-service","language":"HTML","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/alivx.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"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}},"created_at":"2020-04-11T21:01:12.000Z","updated_at":"2024-05-10T14:08:19.000Z","dependencies_parsed_at":"2024-11-24T19:16:37.026Z","dependency_job_id":"dd9397de-4d29-458f-b898-1bec771eae07","html_url":"https://github.com/alivx/encryption-service","commit_stats":null,"previous_names":["alivx/encryption-service"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/alivx%2Fencryption-service","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/alivx%2Fencryption-service/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/alivx%2Fencryption-service/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/alivx%2Fencryption-service/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/alivx","download_url":"https://codeload.github.com/alivx/encryption-service/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":239987779,"owners_count":19729866,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","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":["curl","docker","docker-compose","encryption","fastapi","redis","service","themis"],"created_at":"2024-11-08T16:17:39.359Z","updated_at":"2026-04-11T20:30:19.046Z","avatar_url":"https://github.com/alivx.png","language":"HTML","funding_links":[],"categories":[],"sub_categories":[],"readme":"# API Encryption Service\n\nThis project like an Encryption as service somehow, this service provide high performance and secure way to store text-based data using [Themis](https://www.cossacklabs.com/themis/) and [Redis](https://redis.io/).\n\n### Use cases:\n1. Share sensitive information for a period.\n2. Save sensitive information for a set of time.\n3. Vault key management.\n\n### Installation\n\n##### Using Docker\nFirst Build the images\n```Bash\ndocker build -f Dockerfile-redis . -t alivx:enc_redis\ndocker build -f Dockerfile . -t alivx:enc_api\n```\nThen run the service using docker-compose.yml\n```Bash\ndocker-compose up ## to run it in background use '-d'\n```\noutput\n```Bash\ndocker-compose up\nStarting encryptionservice_redis_1 ... \nStarting encryptionservice_redis_1 ... done\nRecreating encryptionservice_api_1 ... \nRecreating encryptionservice_api_1 ... done\nAttaching to encryptionservice_redis_1, encryptionservice_api_1\n```\n\n### Todo\n1. Add nginx with SSL setup to get encryption in transit.\n2. add a web interface to call the API.\n3. add the ability to upload files.\n\n### Usages\nAfter startup the docker-compose, two services will be up and running.\n1. Encryption API server on port 1992.\n2. Redis server on port 6379.\n\n\u003e Setting data:\n\ncalling the API using `curl`\nInfo:\n* value: anything you need to be encrypted.\n* Password: password key\n* TTL: time to live (set time in second)\n\n```Bash\ncurl -X PUT \"http://localhost:1992/set/\" -H \"accept: application/json\" -H \"Content-Type: application/json\" -d \"{\\\"value\\\":\\\"http://localhost:8000/docs#/default/read_items_seturl__put\\\",\\\"ttl\\\":500,\\\"password\\\":\\\"123\\\"}\"\n```\nreturned value `{\"_id\":\"DJGNOGVV2eab7054\"}`\n\n\u003e Getting Data\n```Bash\ncurl -X GET \"http://localhost:1992/get/?_id=DJGNOGVV2eab7054\u0026password=123\" -H \"accept: application/json\"\n```\n\nreturned data:`{\"value\":\"http://localhost:8000/docs#/default/read_items_seturl__put\"}`\n\n#### How it works:\n\nAfter putting some text/something need to be encrypted. the API sends the data into redis using `Themis module for Redis database`\n\nRedis Content:\n```Bash\n127.0.0.1:6379\u003e keys '*'\n1) \"WP52978Nc290f53d\"\n2) \"GPMNRNNQ9d396717\"\n3) \"7NW8388G60755d45\"\n4) \"EWGN9NVR1b402e2a\"\n5) \"Q6YGLPGNc648e448\"\n127.0.0.1:6379\u003e get Q6YGLPGNc648e448\n\"\\x00\\x01\\x01@\\x0c\\x00\\x00\\x00\\x10\\x00\\x00\\x00:\\x00\\x00\\x00f\\xedRv\\xc2\\x17\\xeb#\\xe7h\\n\\xf2\\xf2;\\x97\\xc87}\\xb7_\\xbe\\xad\\xc8\\x8eR7\\xde\\xa9$\\xf6\\x12\\xc9\\x1d\\xade\\xf2\\xbeq\\xd1y]\\x9f\\xa5\\xf4`\\x8d\\x17\\xf1w\\x13\\x80\\xf3\\x8a\\xc9\\xe9\\xdb\\xb6\\xc7\\xbbu7\\x1eFc\\xe6,\\xd1t\\x85d \\x85m\\x9c\\x8a\\xca\\xcd\\x1e\\xb3\\x80zXw\\xeb0\\n\"\n127.0.0.1:6379\u003e\n```","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Falivx%2Fencryption-service","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Falivx%2Fencryption-service","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Falivx%2Fencryption-service/lists"}