{"id":19360397,"url":"https://github.com/emrekayik/ekode","last_synced_at":"2026-05-17T03:03:14.250Z","repository":{"id":138227784,"uuid":"606543672","full_name":"emrekayik/EKODE","owner":"emrekayik","description":"EKODE, metni resim üzerinde saklamak için kullanılan bir algoritmadır.","archived":false,"fork":false,"pushed_at":"2023-02-25T21:58:37.000Z","size":6,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-02-24T12:18:53.248Z","etag":null,"topics":["cryptography","python"],"latest_commit_sha":null,"homepage":"","language":"Python","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/emrekayik.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":"2023-02-25T20:06:44.000Z","updated_at":"2023-03-17T22:10:30.000Z","dependencies_parsed_at":"2023-07-04T19:35:09.473Z","dependency_job_id":null,"html_url":"https://github.com/emrekayik/EKODE","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/emrekayik/EKODE","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/emrekayik%2FEKODE","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/emrekayik%2FEKODE/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/emrekayik%2FEKODE/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/emrekayik%2FEKODE/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/emrekayik","download_url":"https://codeload.github.com/emrekayik/EKODE/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/emrekayik%2FEKODE/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":33126085,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-16T18:38:32.183Z","status":"online","status_checked_at":"2026-05-17T02:00:05.366Z","response_time":107,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"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":["cryptography","python"],"created_at":"2024-11-10T07:18:02.451Z","updated_at":"2026-05-17T03:03:14.216Z","avatar_url":"https://github.com/emrekayik.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# EKODE (0.0.2)\n\n## Amaç\n\nMetin girdisi alınarak, her harfin ASCII koduna göre belirlenen renklerle oluşturulan bir kareler kümesi oluşturmak. Bu sayede metni şifrelemek ve anlamsız gibi görülen kare kümelerinde metin saklamak.\n\n## Kullanılan Teknolojiler\n\n- Python 3.10.8\n- Pillow (Python Imaging Library)\n\n## Çalışma Prensibi\n\n1. Kullanıcıdan metin girdisi alınır.\n2. Metin, harf harf ayıklanarak ASCII koduna dönüştürülür.\n3. Her harfin ASCII koduna karşılık geler bir renk tonu oluşturulur. Bu renk tonu HSL renk modeli kullanılarak hesaplanır.\n4. Her harf için bir kare oluşturulur ve karenin o rengi, o harfin ASCII koduna karşılık gelen renk tonuna göre belirlenir. \n5. Kareler, yan yana şekilde sıralanır.\n\n## ASCII koduna karşılık renk nasıl bulunur:\n\nHarflerin her biri ASCII koduna dönüşüyor ve bize sayısal bir değer veriyor. Mesela \"E\" harfini ele alalım. \"E\" harfinin ASCII kodu 69'dur. Bu kodu matematiksel işleme tabii tutuyorum ve ASCII kodunu HSL renk sistemini kullandım. Çünkü HSL renk sisteminde sadece Hue (ton) ayarı yaparak farklı renkler üretebiliyorum. [HSL renk sistemi hakkında bilgi için tıklayın.](https://en.wikipedia.org/wiki/Hue)\\\n\\\nŞimdi asıl problem ASCII aralığımı 0-360 arasına dağıtmaktı. Bunun için araştırma yaptım ve lineer dönüşüm ile karşılaştım. Lineer dönüşümü kullanarak 48-90 arasındaki ASCII kodlarını 0-360 arasına dağıttım.\\\nLightness (parlaklık) ve Saturation (doygunluk) değerlerini sabit tutarak, Hue (ton) değerini değiştirerek farklı renkler üretiyorum.\nHue için aşağıdaki matematik işlemini(lineer dönüşüm) kullanıyorum:\n$$\\mathbf{hue} = (\\frac{360}{43}) \\times (\\text{ASCII KODU}-48)$$\n```css\nhsl(hue, 100%, 50%)\n```\nsonrasında bu kodla gelen renklerle kareleri dolduruyorum.\\\n\nÇözümlemek için ise fonksiyonun tersini aldım.\n\n## Kullanım\n\n1. Python ve Pillow kütüphanesi kurulduğuna emin olun.\n\n```bash\npip install -r requirements.txt\n```\n\n2. Projeyi bilgisayarınıza indirin.\n\n```bash\ngit clone https://github.com/emrekayik/EKODE.git\n```\n\n3. Terminali açın ve proje dizininize gidin.\n\n4. Aşağıdaki komut ile çalıştırarak projeyi deneyin:\n\n```bash\npython main.py\n```\n\n5. Program başladıktan sonra \"output.png\" adlı bir resim dosyası oluşturulur.\n\n## Yapılacaklar:\n\n- [ ] Tüm ASCII karakterleri için çalışmasını sağlamak\n- [ ] Nesne tabanlı yazmak\n- [ ] Çıktı metnini birleştirmek\n\n## Kaynaklarım:\n- [Wikipedia Hue](https://en.wikipedia.org/wiki/Hue)\n- [Colorsys](https://docs.python.org/3/library/colorsys.html)\n- [Pillow Documents](https://pillow.readthedocs.io/en/stable/reference/index.html)\n- [rapidtables.com rgb-to-hsl](https://www.rapidtables.com/convert/color/rgb-to-hsl.html)\n\n## Örnek çıktı\n![Çıktı](./output.png)\n['E', 'M', 'R', 'E']","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Femrekayik%2Fekode","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Femrekayik%2Fekode","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Femrekayik%2Fekode/lists"}