{"id":20858398,"url":"https://github.com/dvizioon/crip-texto","last_synced_at":"2025-08-31T10:39:45.899Z","repository":{"id":246888374,"uuid":"822901698","full_name":"dvizioon/CRIP-TEXTO","owner":"dvizioon","description":"Encriptador de Texto , BSP4","archived":false,"fork":false,"pushed_at":"2024-07-05T14:56:06.000Z","size":999,"stargazers_count":5,"open_issues_count":0,"forks_count":1,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-06-12T19:03:33.803Z","etag":null,"topics":["criptografia","criptography","css","encription","html","javascript","pdf","plugin","text"],"latest_commit_sha":null,"homepage":"https://dvizioon.github.io/CRIP-TEXTO/","language":"JavaScript","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/dvizioon.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":"2024-07-02T04:01:11.000Z","updated_at":"2024-08-07T01:24:12.000Z","dependencies_parsed_at":"2024-07-05T19:32:27.676Z","dependency_job_id":null,"html_url":"https://github.com/dvizioon/CRIP-TEXTO","commit_stats":null,"previous_names":["dvizioon/crip-texto"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/dvizioon/CRIP-TEXTO","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dvizioon%2FCRIP-TEXTO","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dvizioon%2FCRIP-TEXTO/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dvizioon%2FCRIP-TEXTO/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dvizioon%2FCRIP-TEXTO/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/dvizioon","download_url":"https://codeload.github.com/dvizioon/CRIP-TEXTO/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dvizioon%2FCRIP-TEXTO/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":272971415,"owners_count":25024093,"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","status":"online","status_checked_at":"2025-08-31T02:00:09.071Z","response_time":79,"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":["criptografia","criptography","css","encription","html","javascript","pdf","plugin","text"],"created_at":"2024-11-18T04:45:53.141Z","updated_at":"2025-08-31T10:39:45.849Z","avatar_url":"https://github.com/dvizioon.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# CripTexto\n\u003cimg src=\"./Assets/Screenshots/01.png\" alt=\"\" /\u003e\n\n## Descrição\nO **CripTexto** é uma aplicação web desenvolvida para criptografar e descriptografar textos, além de oferecer funcionalidades adicionais como importação de arquivos PDF e TXT, manipulação de templates e geração de documentos em PDF, você pode usar Temas já prontos ou pode criar seu propios tema usando AI, isso usando um estilo propio de cbt ou seja com base no tema fonercido a AI gerar um tema usando um findTunner Especifico.\n\n## Vizualizar Projeto\n[Entre aqui para Vizualizar 📦](https://dvizioon.github.io/CRIP-TEXTO/)\n\n![HTML5](https://img.shields.io/badge/HTML5-E34F26?style=for-the-badge\u0026logo=html5\u0026logoColor=white)\n![CSS3](https://img.shields.io/badge/CSS3-1572B6?style=for-the-badge\u0026logo=css3\u0026logoColor=white)\n![JavaScript](https://img.shields.io/badge/JavaScript-F7DF1E?style=for-the-badge\u0026logo=javascript\u0026logoColor=black)\n![jsPDF](https://img.shields.io/badge/jsPDF-1D8FBB?style=for-the-badge\u0026logo=javascript\u0026logoColor=white)\n![pdf.js](https://img.shields.io/badge/pdf.js-FFB900?style=for-the-badge\u0026logo=javascript\u0026logoColor=white)\n![SweetAlert2](https://img.shields.io/badge/SweetAlert2-FF5F6D?style=for-the-badge\u0026logo=javascript\u0026logoColor=white)\n![LocalDB.js](https://img.shields.io/badge/LocalDB.js-1F2D3D?style=for-the-badge\u0026logo=javascript\u0026logoColor=white)\n\n\n## Desafio da Alura\n\u003cimg src=\"./Assets/Screenshots/07.png\" width=200 alt=\"\" /\u003e\n\n\n## Índice\n1. [Descrição](#descrição)\n2. [Funcionalidades](#funcionalidades)\n3. [Tecnologias Utilizadas](#tecnologias-utilizadas)\n4. [Fluxo de Segurança](#fluxo-de-segurança)\n5. [Fluxo de Renderização AI](#fluxo-de-renderização-ai)\n6. [Plugins Criados](#plugins-criados)\n7. [Exemplos de Uso](#exemplos-de-uso)\n8. [Instalação](#instalação)\n9. [Licença](#licença)\n\n## Figma do Projeto \n\u003cimg src=\"./Assets/Screenshots/09.png\" alt=\"\" /\u003e\n\n[Projeto Original🔰](https://www.figma.com/design/tvFEYhVfZTjdJ5P24RGV21/Alura-Challenge---Desafio-1---L%C3%B3gica?node-id=0-1\u0026t=IUGPCMTEk0xgJMEC-1)\n\n## Para Alura Vizualizar\n**Senha** : _one_\n\n\u003e Entre em Exemplos \n- Alura + Senha.pdf\n- Alura.html\n- Alura.pdf\n\n`Entre em Exemples/`\n\n[Entre aqui para ver os Exemplos](/Examples/)\n\n\u003e[!WARNING]\n\u003eDepois você pode Entrar e Importa o PDF para criar a descriptografia melhor importar que copiar e colar por causas dos espaçamentos\n\n\u003cimg src=\"./Assets/Screenshots/08.png\" alt=\"\" /\u003e\n\n\u003cbr\u003e\n\n## Para iniciar\npara iniciar primeiro vamos mapear seu sevidor Local para \nlibera a AI em seu IP -\u003e (IPV4) -\u003e Publico\nAssim você poderar usar um AI do Aplicativo\ne para fazer isso precisar criar um Proxy trasparente e conectar o \nDNS nesse proxy para criar a chave de autenticação\n![LocalDB.js](https://img.shields.io/badge/IPV4-1F2D3D?style=for-the-badge\u0026logo=jav\u0026logoColor=white)\n\n\u003cimg src=\"./Assets/Screenshots/11.png\" alt=\"\" /\u003e\n\u003cimg src=\"./Assets/Screenshots/10.png\" alt=\"\" /\u003e\n\n\u003e[!IMPORTANT]\n\u003eEntre aqui para Liberar o Seu Local\u003cbr\u003e\n\u003ehttps://cors-anywhere.herokuapp.com/corsdemo\n\u003cimg src=\"./Assets/Screenshots/12.png\" alt=\"\" /\u003e\n\n## Engenharia AI - AUTOAUTH\n\n```mermaid\ngraph TD;\n    A[Início] --\u003e B[Autenticação Inicial];\n    B --\u003e C[Processo de Verificação];\n    C --\u003e D[Decisão];\n    D -- USER + AUTH + CRF --\u003e E[Permissão concedida];\n    D -- CRF + USER --\u003e F[Recusa de acesso];\n    E --\u003e G[Processo de Autorização];\n    F --\u003e H[Fim];\n```\n\n\n## Funcionalidades\n\n- **Criptografar e Descriptografar:** Permite aos usuários inserir texto e realizar operações de criptografia e descriptografia utilizando métodos seguros.\n- **Importação de Arquivos:** Suporta importação de arquivos nos formatos PDF e TXT para visualização e manipulação de conteúdo.\n- **Templates de Documentos:** Oferece modelos pré-definidos para facilitar a criação de documentos padronizados.\n- **Exportação em PDF:** Permite salvar documentos criados como arquivos PDF, com opção de proteção por senha para garantir a segurança dos documentos.\n- **Desenho de Templates Personalizados:** Funcionalidade para desenhar templates personalizados diretamente na aplicação, permitindo a criação de layouts únicos.\n- **Histórico de Templates:** Mantém um registro de templates criados, facilitando o acesso e a gestão de documentos anteriores.\n\n## Tecnologias Utilizadas\n\n- **Front-end:** HTML, CSS, JavaScript (ES6+)\n- **Bibliotecas Externas:**\n  - jsPDF: Para geração de documentos em PDF no navegador.\n  - pdf.js: Para visualização e extração de texto de arquivos PDF.\n  - SweetAlert2: Para exibição de alertas e prompts personalizados.\n- **Armazenamento Local:** LocalDB.js para gerenciamento de banco de dados local no navegador, facilitando o armazenamento e recuperação de templates e configurações.\n\n## FLuxo de Segurança\n\u003cimg src=\"./Assets/Screenshots/02.png\" alt=\"\" /\u003e\n\n## Fluxo de Rederização AI\n- Entre no `Assistent.js` e Mude Logica eo temperamento da AI para gerar os temas\n\n\u003e[!IMPORTANT]\n\u003ePara Criar um FIndTunner bom é necessario adptar esse plugin de assistencia é criar um filtro mais especifico assim criar um filtro mais especifico.\n\n```javascript\nbtn_search.addEventListener('click', function () {\n    \n    const question = `\n    Por favor, crie uma página de convite em HTML e CSS com as seguintes características\n    Quero uma página unica, com o seguinte tema ${input_search.value}:\n\n    obs1:quero as cores que codizem como o tema ${input_search.value} e os Textos também:\n\n    obs2:Quero o codigo entre \"\"\" Codigo Aqui dentro \"\"\"\n    1 **Faça o Estilo usando de ${input_search.value} é use \u003cstyle\u003e\u003c/style\u003e faça o body padrão é \n        -Faça a Font se adptar de acordo com o tema para os \u003cp\u003e adptar as cores por exemplo se o tema for dark usar cores white\n        -Para cada elemento ultizar o display:Flex;\n        -Para cada elmento coloque o width:100%:\n        -para cada elemento use o Gap;\n        -para cada elemento use class unicas e estilos unicos\n    **\n    - No Estilo não quero estilo nem **Body**\n\n    2**Dentro do Body Coloque esse Codigo aqui porem vc vai adptar ao tema que a pessoa pediu que é ${input_search.value} **:\n    '\n        \u003cdiv class='cartao'\u003e\n            \u003c!-- Aqui Colocar Titulo --\u003e\n            \u003ch1\u003e[]\u003c/h1\u003e\n            \u003c!-- Aqui Sobre o tema : Pequeno Texto --\u003e\n            \u003cp\u003e[]\u003c/p\u003e\n            \u003c!-- Aqui Colocar Msg para Descriptgrafar --\u003e\n            \u003cp\u003e[]\u003c/p\u003e\n            \u003ctextarea id='texto_codificado' class='texto_codificado' placeholder='Digite o texto codificado aqui' disabled\u003e\u003c/textarea\u003e\n            \u003cinput type='password' class='password' id='senha' placeholder='Digite a senha'\u003e\n            \u003cbutton class='descriptografar'\u003eDescriptografar 🔓\u003c/button\u003e\n            \u003ctextarea id='texto_decifrado' class='texto_decifrado' placeholder='Texto decifrado aparecerá aqui' readonly\u003e\u003c/textarea\u003e\n        \u003c/div\u003e\n    '\n\n    Aguardo o código completo. Obrigado!\n`\n\n  ...\n\n})\n```\n\n## Plugins Criados\n\n- Import.js\n\u003cimg src=\"./Assets/Screenshots/03.png\" alt=\"\" /\u003e\n\n\u003e[!WARNING]\n\u003ePlugin para Criar as importação com uma Atributo especial chamado `data-type`\n\n```javascript\nclass FileImporter {\n    constructor(buttonSelector, displaySelector) {\n        this.buttons = document.querySelectorAll(buttonSelector);\n        this.displayElement = document.querySelector(displaySelector);\n        this.init();\n    }\n\n    init() {\n        this.fileInput = document.createElement('input');\n        this.fileInput.type = 'file';\n        this.fileInput.style.display = 'none';\n        document.body.appendChild(this.fileInput);\n\n        this.buttons.forEach(button =\u003e {\n            button.addEventListener('click', (event) =\u003e this.handleButtonClick(event));\n        });\n\n        this.fileInput.addEventListener('change', (event) =\u003e this.handleFileChange(event));\n    }\n\n    handleButtonClick(event) {\n        const fileType = event.target.getAttribute('data-type');\n\n        if (fileType === 'txt') {\n            this.fileInput.setAttribute('accept', '.txt');\n            this.fileInput.click();\n        } else if (fileType === 'pdf') {\n            this.fileInput.setAttribute('accept', '.pdf');\n            this.fileInput.click();\n        }\n    }\n\n    ...\n\n```\n\n\u003e[!NOTE]\n\u003ePara Vizualizar todos os Plugins diponiveis entre em `Plugins`.\n\nVocê pode querer criar mais de um Acionador aqui para modal \n\n```javascript\ndocument.addEventListener('DOMContentLoaded', () =\u003e {\n    const modals = [\n        { modalId: 'modal-skins', buttonId: 'openModalSkins', elementoEmpyt: 'texto_codificado', actions: [] },\n        { modalId: 'modal-paint', buttonId: 'openModalPaint', elementoEmpyt: 'texto_codificado', actions: [] },\n        { modalId: 'modal-history', buttonId: 'openModalHistory', actions: [{ 'tbody': loadTemplates }] },\n        { modalId: 'modal-import', buttonId: 'gooey-button'}\n    ];\n\n    modals.forEach(modal =\u003e {\n        new Modal(modal.modalId, modal.buttonId, modal.elementoEmpyt, modal.actions);\n    });\n});\n```\n- modalId: `Identificador da Modal`\n- buttonId: `Acionador da Modal`\n- ElementoEmpyte : `Verificar se certo elemento está vazio antes de acionar a modal`\n- Actions: [\n    `{'_elemento':_Atualização}`\n] -\u003e `Responsável por força atualização do elemento.`\n\n\n\u003e[!NOTE]\n\u003ePara Vizualizar Templates `Js/Templates.js`.\n\nVocê pode querer criar mais de um Template\n\n```javascript\nconst all_Templates = [\n    {\n        \"cartão de Namoro\": {\n            html: `\n               ...\n            `,\n            style: `\n               ...\n            `,\n            script: `\n               ...\n            `\n        }\n    }\n];\n```\n\n## Fonts \n\u003e[!TIP]\n\u003e`https://fonts.googleapis.com/css2?family=Inter:wght@100..900\u0026display=swap `\n\n```css\n@font-face {\n    font-family: 'Inter';\n    font-style: normal;\n    font-weight: 100 900;\n    font-display: swap;\n    src: url(https://fonts.gstatic.com/s/inter/v13/UcC73FwrK3iLTeHuS_fvQtMwCp50KnMa2JL7SUc.woff2) format('woff2');\n    unicode-range: U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;\n}\n\n```\n\n\u003cimg src=\"./Assets/Screenshots/04.png\" alt=\"\" /\u003e\n\u003cimg src=\"./Assets/Screenshots/05.png\" alt=\"\" /\u003e\n\u003cimg src=\"./Assets/Screenshots/06.png\" alt=\"\" /\u003e\n\u003cimg src=\"./Assets/Screenshots/13.png\" alt=\"\" /\u003e\n\n## Instalação\n\n1. Clone o repositório: `git clone https://github.com/dvizioon/CRIP-TEXTO.git`\n2. Abra o diretório do projeto: `cd CRIP-TEXTO`\n3. Abra o arquivo `index.html` no seu navegador web.\n\n\n## Licença\n\nEste projeto está licenciado sob a [Licença MIT](LICENSE).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdvizioon%2Fcrip-texto","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdvizioon%2Fcrip-texto","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdvizioon%2Fcrip-texto/lists"}