{"id":19408441,"url":"https://github.com/4lessandrodev/cesar-cipher","last_synced_at":"2026-01-30T10:40:08.436Z","repository":{"id":255646684,"uuid":"852595154","full_name":"4lessandrodev/cesar-cipher","owner":"4lessandrodev","description":"A simple TypeScript library for Caesar cipher encryption and decryption","archived":false,"fork":false,"pushed_at":"2024-09-10T04:20:14.000Z","size":17,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-06-20T06:07:40.446Z","etag":null,"topics":["cesar-cipher","cryptography","shift-cipher"],"latest_commit_sha":null,"homepage":"https://www.npmjs.com/package/cesar-cipher","language":"TypeScript","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/4lessandrodev.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,"zenodo":null}},"created_at":"2024-09-05T04:46:35.000Z","updated_at":"2024-09-10T04:20:18.000Z","dependencies_parsed_at":"2024-09-10T07:02:13.675Z","dependency_job_id":null,"html_url":"https://github.com/4lessandrodev/cesar-cipher","commit_stats":null,"previous_names":["4lessandrodev/cesar-cipher"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/4lessandrodev/cesar-cipher","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/4lessandrodev%2Fcesar-cipher","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/4lessandrodev%2Fcesar-cipher/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/4lessandrodev%2Fcesar-cipher/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/4lessandrodev%2Fcesar-cipher/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/4lessandrodev","download_url":"https://codeload.github.com/4lessandrodev/cesar-cipher/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/4lessandrodev%2Fcesar-cipher/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":260891176,"owners_count":23077914,"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":["cesar-cipher","cryptography","shift-cipher"],"created_at":"2024-11-10T12:06:13.780Z","updated_at":"2026-01-30T10:40:08.387Z","avatar_url":"https://github.com/4lessandrodev.png","language":"TypeScript","readme":"# Criptografia de Substituição com Shift\n\nEste projeto implementa um simples sistema de criptografia e descriptografia de mensagens usando o conceito de **substituição por shift** (ou cifra de César). O código permite ao usuário criptografar e descriptografar mensagens, aplicando um deslocamento (`shift`) nas letras do alfabeto.\n\n---\n\n### Conceito\n\nA **cifra de César** é uma técnica de criptografia que consiste em substituir cada letra de uma mensagem pela letra que se encontra um certo número de posições à frente (ou atrás) no alfabeto. O número de posições é chamado de **shift**.\n\nPor exemplo, ao criptografar a letra `A` com um `shift` de 3, a letra resultante seria `D`. A mesma técnica pode ser aplicada para descriptografar a mensagem ao usar o **shift inverso**.\n\n### Exemplo de Criptografia\n\n- Mensagem original: `MENSAGEM SECRETA`\n- Shift: `3`\n- Mensagem criptografada: `UEhRVkRKSFArVkhGVUhXRA==`\n\n### Exemplo de Descriptografia\n\n- Mensagem criptografada: `UEhRVkRKSFArVkhGVUhXRA==`\n- Shift: `3`\n- Mensagem descriptografada: `MENSAGEM SECRETA`\n\n### Exemplo de Uso\n\nInstalação\n\n```sh\n\nnpm i cesar-cipher\n\n# OR\n\nyarn add cesar-cipher\n\n```\n\n#### Usando a lib\n\n```typescript\n\nimport { crypt } from 'cesar-cipher';\n\n\n// Criar um objeto de criptografia com um shift de 3\nconst cipher = crypt(3); // 1 a 25\n\n\n// Criptografar uma mensagem\nconst encryptedMessage = cipher.encrypt(\"OLA MUNDO\");\nconsole.log(encryptedMessage); // \"Uk9EK1BYUUdS\"\n\n\n// Descriptografar a mensagem criptografada\nconst decryptedMessage = cipher.decrypt(encryptedMessage);\nconsole.log(decryptedMessage); // \"OLA MUNDO\"\n\n\n```\n\n### Tratamento de Erros\n\n- O valor do `shift` deve ser um número positivo e menor que o tamanho do alfabeto. Caso contrário, o código lançará um erro.\n- O alfabeto fornecido não pode estar vazio.\n- Se a mensagem contiver caracteres que não fazem parte do alfabeto (como números ou símbolos), esses caracteres serão substituídos por `?` na mensagem criptografada ou descriptografada.\n\n### Como Funciona a Lógica do Shift\n\nPara aplicar o `shift`, o código utiliza a seguinte fórmula:\n\n```typescript\n\nconst shiftedIndex = (currentIndex + shift) % totalLetters;\n\n```\n\nEssa fórmula garante que, ao atingir o final do alfabeto, o deslocamento \"dê a volta\", começando de novo do início do alfabeto.\n\n### Conclusão\n\nEste sistema de criptografia é uma implementação simples e eficaz do método de cifra de César. Ele permite a manipulação de mensagens utilizando um deslocamento em um alfabeto customizável, aplicando boas práticas de programação em TypeScript, como validação de parâmetros e tratamento de erros.\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2F4lessandrodev%2Fcesar-cipher","html_url":"https://awesome.ecosyste.ms/projects/github.com%2F4lessandrodev%2Fcesar-cipher","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2F4lessandrodev%2Fcesar-cipher/lists"}