Giter VIP home page Giter VIP logo

cifradocesar's Introduction

ALGORITMO DE CIFRADO DE CESAR


Este programa te permite encriptar mensajes segun el algoritmo de cifrado César.

Elegir una opcion para elegir si se desea:

Con este programa se puede:

  • Cifrar una palabra -Se puede combinar letras mayusculas con minusculas. -Acepta espacios.
  • Descifrar una palabra -Se puede combinar letras mayusculas con minusculas. -Acepta espacios.

La palabra ingresada en la caja de texto no debe :

  1. Ser de longitud igual a 0
  2. Contener algun número
  3. Poseer operadores lógicos

Presentamos los diagramas de flujo: recursos recursos recursos

Presentamos el pseudocódigo:

Funcion cipher // declara la función de cifrado
   Definir output,word Como Caracter // Se declara la variable donde se acumulara la salida luego de ser cifrada
   Definir keyCode,word_length,i Como Entero // Se declara la variable donde se acumulará el codigo ascii de cada letra del word a// se declara la variable lógica e inicializa en false para controlar la validación del word 'válido'
   Definir validateWord Como Logico // se declara la variable lógica e inicializa en false para controlar la validación del word 'válido'
   Repetir // se utiliza un do while para que ingrese por lo menos una vez a solicitar la palabra 'word' y validarla
   	word <- 'Ingrese la palabra a cifrar' // Se pide que ingrese la palabra a cifrar.
   	Si word_length>0 Entonces // Se condiciona en el caso que la longitud de la palabra 'word' ingresada sea mayor a 0
   		keyCode <- word_charCodeAt // Obtenemos el codigo ascii de cada caracter de la palabra 'word'
   		Si ((keyCode!=32) Y (keyCode<65) O (keyCode>90) Y (keyCode<97) O (keyCode>122)) Entonces // Restringimos caso que la palabra posea números o caracteres invalidos
   			Escribir 'Por favor ingrese una palabra válida' // muestra una alerta del palabra inválida
   			cipher() // utilizando la recursividad se vuelve a llamar a la función cifrado
   		Sino
   			validateWord <- Verdadero // toma el valor de verdadero si la palabra ingresada es válida
   		FinSi
   	Sino // En el caso que no ingrese nada nos enviara un mensaje
   		Escribir 'Ha ingresado un texto vacio' // muestra el mensaje de alerta que ha ingresado una palabra vacía
   	FinSi
   Hasta Que validateWord=Falso // se volverá a realizar mientras no se halla podido validar la frase
   Para i<-0 Hasta word_length-1 Hacer // se utiliza un for para recorrer através de los caracteres del palabra 'word'
   	keyCode <- word_charCodeAt // Obtenemos el codigo ascii de cada caracter de la     palabra ingresada
   	Si (keyCode>=65 Y keyCode<=90) Entonces // para cifrar mayusculas
   		output <- output+'String.fromCharCode((word.charCodeAt(i)-65+33)%26+65);' // se acumula el caracter cifrado obtenido de la fórmula
   	Sino
   		Si (keyCode>=97 Y keyCode<=122) Entonces // para cifrar minusculas
   			output <- output+'String.fromCharCode((word.charCodeAt(i)-97+33)%26+97)' // se acumula el caracter cifrado obtenido de la fórmula
   		FinSi
   	FinSi
   FinPara
   Escribir output // retorna el cifrado de la palabra ingresada como resultado
FinFuncion

Funcion decipher // declara la función de descifrado
   Definir output,word Como Caracter
   Definir keyCode,word_length,i Como Entero
   Definir validateWord Como Logico
   Repetir // se utiliza un do while para que ingrese por lo menos una vez a solicitar la palabra 'word' y validarla
   	word <- 'Ingrese la palabra a descifrar' // Se pide que ingrese la palabra a cifrar.
   	Si word_length>0 Entonces // Se condiciona en el caso que la longitud de la palabra ingresada sea mayor a 0
   		keyCode <- word_charCodeAt // Obtenemos el codigo ascii de cada caracter de la  palabra ingresada word
   		Si ((keyCode!=32) Y (keyCode<65) O (keyCode>90) Y (keyCode<97) O (keyCode>122)) Entonces
   			Escribir 'Por favor ingrese una palabra válida'
   			decipher() // utilizando la recursividad se vuelve a llamar a la función decifrado
   		Sino
   			validateWord <- Verdadero
   		FinSi
   	Sino
   		Escribir 'Ha ingresado un texto vacio'
   	FinSi
   Hasta Que validateWord=Falso
   Para i<-0 Hasta word_length-1 Hacer // se utiliza un for para recorrer através de los caracteres del palabra 'word'
   	keyCode <- word_charCodeAt
   	Si (keyCode>=65 Y keyCode<=90) Entonces
   		output <- output+'String.fromCharCode(((word.charCodeAt(i)-65+26+26-33) % 26)+65)'
   	Sino
   		Si (keyCode>=97 Y keyCode<=122) Entonces
   			output <- output+'String.fromCharCode(((word.charCodeAt(i)-97+26+26-33) % 26)+97);)'
   		FinSi
   	FinSi
   FinPara
   Escribir output
FinFuncion

Algoritmo principal
   Definir validateOption Como Logico
   Definir selectOption Como Entero
   Repetir
   	Segun selectOption  Hacer
   		1:
   			cipher()
   		2:
   			decipher()
   		De Otro Modo:
   			Escribir 'Por favor ingrese una opción válida'
   	FinSegun
   Hasta Que validateOption=Falso
FinAlgoritmo

cifradocesar's People

Contributors

adayc avatar

Stargazers

Heitor Campos avatar

Watchers

James Cloos avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.