Skip to content

daedov/SCL020-cipher

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

18 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

CIPHER

CIPHER es el primer proyecto desarrollado dentro del Bootcamp de Desarrollo Web de Laboratoria.

Este proyecto tiene como objetivo crear una aplicación web donde el usuario pueda cifrar y descifrar un texto a través del desplazamiento de caracteres.


Índice


1. ¿Qué es el cifrado CIPHER?

El cifrado César es uno de los primeros métodos de cifrado y una de las técnicas más simples para codificar un mensaje, ya que se basa en la sustitución de caracteres.

Para cifrar una palabra, cada letra es reemplazada por otra letra que se encuentra en una posición fija dentro del mismo alfabeto.

Por ejemplo, si usamos un desplazamiento de 3 posiciones:

  • La letra A se cifra como D.
  • La palabra CASA se cifra como FDVD.

caeser-cipher

2. Descripción del proyecto

  • Nombre de la aplicación: SAFER

  • Problema abordado: los índices en temas de acoso o violencia de género no van particularmente a la baja y una de las respuestas ante este tipo de situaciones es el silencio. Muchas veces la mujer afectada no quiere contarle a otros ante la posibilidad que su agresor pueda leer sus mensajes o que otra persona pueda acceder a ellos sin su consentimiento.

  • Usuaria objetivo: mujeres que viven situaciones de riesgo de violencia de género.

  • Necesidad de la usuaria: un filtro adicional en sus mensajes para contar con una mayor privacidad.

  • Respuesta al problema: los servicios de mensajería ya cuentan con variadas opciones de seguridad y privacidad; sin embargo, en situaciones de riesgo, se requiere mayor protección. En este sentido, poder codificar el mensaje antes de enviarlo, permite agregar un filtro extra de seguridad si alguien del entorno de la persona afectada intenta acceder a los mensajes.

  • Relación de las usuarias con el producto desarrollado: gracias al cifrado, se pueden enviar mensajes que no puedan ser leídos facilmente por otras personas del entorno de la usuaria.

  • La interfaz de usuaria permite:

    • Seleccionar una aplicación de mensajería
    • Seleccionar una destinataria del mensaje
    • Ingresar el desplazamiento a usar en el cifrado o descifrado
    • Ingresar un texto para ser cifrado
    • Ingresar un texto para ser descifrado
    • Muestra el resultado del cifrado o descifrado
    • Enviar el mensaje codificado
  • Tecnologías utilizadas:

    • HTML
    • CSS
    • Vanilla Javascript
    • Node.js
  • Funcionalidad de la aplicación

    • cómo descargar, instalar y ejecutar la aplicación?

3. Objetivos de aprendizaje alcanzados

  • HTML

    • Uso de HTML semántico
  • CSS

    • Uso de selectores de CSS

    • Modelo de caja (box model): borde, margen, padding

  • Web APIs

    • Uso de selectores del DOM

    • Manejo de eventos del DOM (listeners, propagación, delegación)

    • Manipulación dinámica del DOM

  • Javascript

    • Tipos de datos primitivos

    • Strings (cadenas de caracteres)

    • Variables (declaración, asignación, ámbito)

    • Uso de condicionales (if-else, switch, operador ternario, lógica booleana)

    • Uso de bucles/ciclos (while, for, for..of)

    • Funciones (params, args, return)

    • Pruebas unitarias (unit tests)

    • Módulos de ECMAScript (ES Modules)

    • Uso de linter (ESLINT)

    • Uso de identificadores descriptivos (Nomenclatura y Semántica)

  • Control de Versiones Git y GitHub

    • Git: Instalación y configuración

    • Git: Control de versiones con git (init, clone, add, commit, status, push, pull, remote)

    • GitHub: Creación de cuenta y repos

  • User-centricity

    • Diseñar un producto o servicio poniendo a la usuaria en el centro
  • Product-design

    • Seguir los principios básicos de diseño visual

About

Primer proyecto del bootcamp de Desarrollo FrontEnd en modalidad individual

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages

  • JavaScript 51.9%
  • CSS 27.3%
  • HTML 20.8%