npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

caesar-cipher-library-anapaulalaraujo

v1.0.0

Published

Biblioteca de testes da Cifra de Cesar

Downloads

3

Readme

Cifra de César

alt text

Introdução

A empresa LOONA Tecnologies tem um grande projeto que vai ajudar milhares de pessoas: um robô chamado Rosy, especializado em limpeza. HaSeul, CEO da companhia, é uma fã incondicional do desenho animado "Os Jetsons" e a personagem favorita dela é justamente Rosie, um robô que ajuda a família Jetson na limpeza da casa. É claro que a Rosy seria um projeto muito mais avançado, porque seria um robô com Inteligência Artificial, ou seja, mais do que um simples robô faxineiro. Entretanto, a LOONA Tecnologies enfrenta a concorrência da companhia RBB Inc. e HaSeul acredita que essa empresa faria de tudo para roubar o projeto. - "Irene (CEO da RBB Inc.) é uma invejosa e sei que ela não mediria esforços para roubar e copiar um projeto nosso", dispara HaSeul. A solução encontrada foi o envio de mensagens criptografadas por meio da Cifra de César às demais funcionárias da empresa.

alt text

Afinal, o que é a Cifra de César?

A Cifra de César é uma das mais simples técnicas de criptografia de que se tem notícia. O processo consiste em trocar as posições das letras do alfabeto, por exemplo: o A se transformaria em D, B em E e assim por diante. Essa técnica recebeu esse nome em homenagem a Júlio César, que usava mensagens cifradas para comunicar-se com seus generais nos tempos de batalha. (Fonte: Wikipedia - https://pt.wikipedia.org/wiki/Cifra_de_C%C3%A9sar)

alt text

Objetivo do projeto

A Cifra de César é o primeiro projeto proposto às alunas da Laboratória, referente ao bootcamp de 2019.

alt text

Algumas considerações

Ao utilizar alguns conhecimentos já adquiridos de experiência do usuário (UX), pensei nesse projeto como um aplicativo com uma interface simples e acessível, para que o usuário pudesse escolher o deslocamento desejado e não tivesse dificuldades em cifrar a mensagem desejada. Além dessas características, trata-se de uma página responsiva, pensada também para as pessoas que desejarem enviar mensagens criptografadas de um smartphone ou tablet. Essa página foi elaborada em HTML, CSS e JavaScript puro (Vanilla JS), utilizando DOM para criar um sistema de codificação e decodificação de mensagens, considerando letras maiúsculas, minúsculas e alguns caracteres. Abaixo, apresento a estrutura do sistema de arquivos do projeto:

./
├── .nyc_output
├── img
├── src
│   ├── cipher.js
│   ├── index.js
│   └── style.css
├── test
│   ├── index.spec.js
├── .DS_Store
├── .gitignore
├── index.html
├── README.md
├── package-lock.json
├── package-json

Além de todas as etapas obrigatórias do projeto realizadas, incluí um botão para limpar o formulário.

alt text

O que foi feito

  • [x] Elaboração de um arquivo README.md com imagens e explicações sobre o projeto
  • [x] Uso de VanillaJS
  • [x] Permitir escrever um texto, com letras maiúsculas, letras minúsculas, números e caracteres, para ser cifrado
  • [x] Mostrar o resultado da cifra corretamente
  • [x] Permitir escrever um texto, com letras maiúsculas, letras minúsculas, números e caracteres, para ser decifrado
  • [X] Mostrar o resultado decifrado corretamente
  • [X] Permitir escolher o offset (deslocamento) a ser usado na cifragem/decifragem de textos
  • [x] Implementar a função encode(string, offset)
  • [x] Implementar a função decode(string, offset)

Biblioteca de testes da Cifra de César v1.0.0

Esta biblioteca destina-se a testes com a Cifra de César.

Instalação:

$ npm install caesar-cipher-lib

Uso para codificação:

const encodeText = require("caesar-cipher-lib");
console.log(encodeText("Penso, logo existo.", 5))
// returns "Ujsxt1 qtlt jcnxyt3"

Uso para decodificação:

const decodeText = require("caesar-cipher-lib");
console.log(decodeText("Ujsxt1 qtlt jcnxyt3", 5))
// returns "Penso, logo existo."