From 062faebfd6d2c6c221c8fd348e32e43f27fdbb16 Mon Sep 17 00:00:00 2001 From: "github-classroom[bot]" <66690702+github-classroom[bot]@users.noreply.github.com> Date: Wed, 19 Mar 2025 02:44:05 +0000 Subject: [PATCH 1/9] add online IDE url; add deadline --- README.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/README.md b/README.md index 5b06c95..f1c7693 100644 --- a/README.md +++ b/README.md @@ -1 +1,3 @@ +[![Review Assignment Due Date](https://classroom.github.com/assets/deadline-readme-button-22041afd0340ce965d47ae6ef1cefeee28c7c493a6346c4f15d667ab976d596c.svg)](https://classroom.github.com/a/2QuvjImd) +[![Open in Visual Studio Code](https://classroom.github.com/assets/open-in-vscode-2e0aaae1b6195c2367325f4f02e2d04e9abb55f0b24a779b69b11b9e10269abc.svg)](https://classroom.github.com/online_ide?assignment_repo_id=18756652&assignment_repo_type=AssignmentRepo) # criptoKotlin \ No newline at end of file From 1614d27565849efc8fe07975aab0469d987ccb18 Mon Sep 17 00:00:00 2001 From: Maria-Fer-UD <200300643@ucaribe.edu.mx> Date: Tue, 18 Mar 2025 22:58:47 -0500 Subject: [PATCH 2/9] Archivos, 2 de entrada para obtener el texto a cifrar y 1 de salida (resultado) que guarda el resultado. --- railfence-Maria-Fer-UD/src/cifrado.txt | 1 + railfence-Maria-Fer-UD/src/descifrado.txt | 1 + railfence-Maria-Fer-UD/src/resultado.txt | 1 + 3 files changed, 3 insertions(+) create mode 100644 railfence-Maria-Fer-UD/src/cifrado.txt create mode 100644 railfence-Maria-Fer-UD/src/descifrado.txt create mode 100644 railfence-Maria-Fer-UD/src/resultado.txt diff --git a/railfence-Maria-Fer-UD/src/cifrado.txt b/railfence-Maria-Fer-UD/src/cifrado.txt new file mode 100644 index 0000000..4b7009c --- /dev/null +++ b/railfence-Maria-Fer-UD/src/cifrado.txt @@ -0,0 +1 @@ +Lo que importa verdaderamente en la vida no son los objetivos que nos marcamos, sino los caminos que seguimos para lograrlo (Peter Bamm) \ No newline at end of file diff --git a/railfence-Maria-Fer-UD/src/descifrado.txt b/railfence-Maria-Fer-UD/src/descifrado.txt new file mode 100644 index 0000000..b86f780 --- /dev/null +++ b/railfence-Maria-Fer-UD/src/descifrado.txt @@ -0,0 +1 @@ +Lumtedme v slotsesros i usror(eaoqeipravraeaet nl ian o o beio u o acms iolscmnsqesgio aalgal PtrBm) o drneadonsjvqnma,noaouemp roe m \ No newline at end of file diff --git a/railfence-Maria-Fer-UD/src/resultado.txt b/railfence-Maria-Fer-UD/src/resultado.txt new file mode 100644 index 0000000..4b7009c --- /dev/null +++ b/railfence-Maria-Fer-UD/src/resultado.txt @@ -0,0 +1 @@ +Lo que importa verdaderamente en la vida no son los objetivos que nos marcamos, sino los caminos que seguimos para lograrlo (Peter Bamm) \ No newline at end of file From 0fbe6e171effddb81efc491c1299cdb6f80fd82b Mon Sep 17 00:00:00 2001 From: Maria-Fer-UD <200300643@ucaribe.edu.mx> Date: Tue, 18 Mar 2025 23:00:43 -0500 Subject: [PATCH 3/9] =?UTF-8?q?Main=20con=20el=20c=C3=B3digo=20de=20cifrad?= =?UTF-8?q?o?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/Main.kt | 105 ++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 105 insertions(+) create mode 100644 src/Main.kt diff --git a/src/Main.kt b/src/Main.kt new file mode 100644 index 0000000..4409790 --- /dev/null +++ b/src/Main.kt @@ -0,0 +1,105 @@ +//Estudiante: Maria Fernanda Uch Dzib +//Matrícula: 200300643 + +import java.io.File +import javax.swing.JOptionPane +import javax.swing.JScrollPane +import javax.swing.JTextArea + + +//Agregar la funcionalidad de lectura de archivos de texto +//La función lee un archivo de entrada +fun leer_archivo_texto(lectura_archivo:String):String { + var archivo = File(lectura_archivo) + var texto = archivo.readText() + return texto +} + +//cifrado +fun railfence_cifrar(texto:String, rail:Int): String +{ + var resul:String = "" + var repeticion = 2 * (rail -1) //Cada vez que inicia el patron en zigzag, cada 4 + for (r in 0..rail-1){ + for (t in texto.indices){ + if (t % repeticion == r || t % repeticion == repeticion-r){ // + resul+=texto[t] + } + } + } + return resul +} + +//descifrado +fun railfence_descifrar(texto:String, rail:Int): String { + var resul = Array (texto.length){""} //Array vacio + var repeticion = 2 * (rail -1) + var aux_i = 0 + for (r in 0..rail-1){ + for (t in texto.indices){ + if (t % repeticion == r || t % repeticion == repeticion-r){ + + resul[t] = texto[aux_i++].toString() //La posición se agrega en orden + } + } + } + return (resul).reduce{a,b -> a+b} //Convertir el arreglo en string +} + +fun main(){ + var option = 0 + var resul:String = "" + var texto = "" + var accion = "" + var path_resultado = File("src/resultado.txt") + do { + option = Integer.parseInt(JOptionPane.showInputDialog("Cifrado Railfence\n---Menú---\n1. Cifrar\n2. Descifrar\n3. Salir")) + + if (option != 1 && option != 2) { + break + } + //var path = JOptionPane.showInputDialog(null, "Introduce el path del archivo de entrada:") + //var texto = leer_archivo_texto(path) + + var rails = 3 //Se utilizan 3 rieles + JOptionPane.showMessageDialog(null,"Número de Rails = $rails") + when (option){ + 1 -> { + accion = "cifrado" + var path_cifrar = "src/cifrado.txt" + + texto = leer_archivo_texto(path_cifrar) + resul = railfence_cifrar(texto, rails) + path_resultado.writeText(resul) + + JOptionPane.showMessageDialog(null, "El texto de entrada es: \n$texto") + JOptionPane.showMessageDialog(null, "Resultado guardado en el archivo ${path_resultado}") + + } + 2 -> { + accion = "descifrado" + var path_descifrar = "src/descifrado.txt" + + texto = leer_archivo_texto(path_descifrar) + resul = railfence_descifrar(texto, rails) + path_resultado.writeText(resul) + + JOptionPane.showMessageDialog(null, "El texto de entrada es: \n$texto") + JOptionPane.showMessageDialog(null, "Resultado guardado en el archivo ${path_resultado}") + } + } + //Para la visualización del texto cifrado o descifrado + val area_resultado = JTextArea("$resul") + area_resultado.lineWrap = true + area_resultado.wrapStyleWord = true + area_resultado.isEditable = false + + val scrollPane = JScrollPane(area_resultado) + scrollPane.preferredSize = java.awt.Dimension(300, 150) + + //println("\nEl texto $accion del archivo es: \n$resul") //Imprimir en consola + JOptionPane.showMessageDialog(null, scrollPane, "El texto $accion del archivo es:", + JOptionPane.INFORMATION_MESSAGE) + + }while (true) +} \ No newline at end of file From 68dd1f3d8198823f2d18411bfd6d6a625b42fc91 Mon Sep 17 00:00:00 2001 From: Maria-Fer-UD <200300643@ucaribe.edu.mx> Date: Tue, 18 Mar 2025 23:21:46 -0500 Subject: [PATCH 4/9] Archivos --- .idea/.gitignore | 8 ++ .idea/compiler.xml | 13 +++ .idea/encodings.xml | 7 ++ .idea/jarRepositories.xml | 25 +++++ .idea/kotlinc.xml | 6 + .idea/misc.xml | 14 +++ .idea/railfence-Maria-Fer-UD.iml | 9 ++ .idea/vcs.xml | 6 + railfence-Maria-Fer-UD/.gitignore | 0 railfence-Maria-Fer-UD/.idea/.gitignore | 8 ++ railfence-Maria-Fer-UD/.idea/compiler.xml | 13 +++ railfence-Maria-Fer-UD/.idea/encodings.xml | 7 ++ .../.idea/jarRepositories.xml | 25 +++++ railfence-Maria-Fer-UD/.idea/kotlinc.xml | 6 + railfence-Maria-Fer-UD/.idea/misc.xml | 14 +++ railfence-Maria-Fer-UD/.idea/vcs.xml | 6 + railfence-Maria-Fer-UD/pom.xml | 88 +++++++++++++++ .../src/main/kotlin/Main.kt | 103 ++++++++++++++++++ .../railfence-Maria-Fer-UD.kotlin_module | Bin 0 -> 36 bytes src/cifrado.txt | 1 + src/descifrado.txt | 1 + src/resultado.txt | 0 untitled/.gitignore | 38 +++++++ untitled/.idea/.gitignore | 8 ++ untitled/.idea/encodings.xml | 7 ++ untitled/.idea/kotlinc.xml | 6 + untitled/.idea/misc.xml | 14 +++ untitled/.idea/vcs.xml | 6 + untitled/pom.xml | 88 +++++++++++++++ untitled/src/main/kotlin/Main.kt | 16 +++ 30 files changed, 543 insertions(+) create mode 100644 .idea/.gitignore create mode 100644 .idea/compiler.xml create mode 100644 .idea/encodings.xml create mode 100644 .idea/jarRepositories.xml create mode 100644 .idea/kotlinc.xml create mode 100644 .idea/misc.xml create mode 100644 .idea/railfence-Maria-Fer-UD.iml create mode 100644 .idea/vcs.xml create mode 100644 railfence-Maria-Fer-UD/.gitignore create mode 100644 railfence-Maria-Fer-UD/.idea/.gitignore create mode 100644 railfence-Maria-Fer-UD/.idea/compiler.xml create mode 100644 railfence-Maria-Fer-UD/.idea/encodings.xml create mode 100644 railfence-Maria-Fer-UD/.idea/jarRepositories.xml create mode 100644 railfence-Maria-Fer-UD/.idea/kotlinc.xml create mode 100644 railfence-Maria-Fer-UD/.idea/misc.xml create mode 100644 railfence-Maria-Fer-UD/.idea/vcs.xml create mode 100644 railfence-Maria-Fer-UD/pom.xml create mode 100644 railfence-Maria-Fer-UD/src/main/kotlin/Main.kt create mode 100644 railfence-Maria-Fer-UD/target/classes/META-INF/railfence-Maria-Fer-UD.kotlin_module create mode 100644 src/cifrado.txt create mode 100644 src/descifrado.txt create mode 100644 src/resultado.txt create mode 100644 untitled/.gitignore create mode 100644 untitled/.idea/.gitignore create mode 100644 untitled/.idea/encodings.xml create mode 100644 untitled/.idea/kotlinc.xml create mode 100644 untitled/.idea/misc.xml create mode 100644 untitled/.idea/vcs.xml create mode 100644 untitled/pom.xml create mode 100644 untitled/src/main/kotlin/Main.kt diff --git a/.idea/.gitignore b/.idea/.gitignore new file mode 100644 index 0000000..13566b8 --- /dev/null +++ b/.idea/.gitignore @@ -0,0 +1,8 @@ +# Default ignored files +/shelf/ +/workspace.xml +# Editor-based HTTP Client requests +/httpRequests/ +# Datasource local storage ignored files +/dataSources/ +/dataSources.local.xml diff --git a/.idea/compiler.xml b/.idea/compiler.xml new file mode 100644 index 0000000..fd2a2c8 --- /dev/null +++ b/.idea/compiler.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/encodings.xml b/.idea/encodings.xml new file mode 100644 index 0000000..942f3a2 --- /dev/null +++ b/.idea/encodings.xml @@ -0,0 +1,7 @@ + + + + + + + \ No newline at end of file diff --git a/.idea/jarRepositories.xml b/.idea/jarRepositories.xml new file mode 100644 index 0000000..4d27ef0 --- /dev/null +++ b/.idea/jarRepositories.xml @@ -0,0 +1,25 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/kotlinc.xml b/.idea/kotlinc.xml new file mode 100644 index 0000000..c22b6fa --- /dev/null +++ b/.idea/kotlinc.xml @@ -0,0 +1,6 @@ + + + + + \ No newline at end of file diff --git a/.idea/misc.xml b/.idea/misc.xml new file mode 100644 index 0000000..001e756 --- /dev/null +++ b/.idea/misc.xml @@ -0,0 +1,14 @@ + + + + + + + + + + \ No newline at end of file diff --git a/.idea/railfence-Maria-Fer-UD.iml b/.idea/railfence-Maria-Fer-UD.iml new file mode 100644 index 0000000..d6ebd48 --- /dev/null +++ b/.idea/railfence-Maria-Fer-UD.iml @@ -0,0 +1,9 @@ + + + + + + + + + \ No newline at end of file diff --git a/.idea/vcs.xml b/.idea/vcs.xml new file mode 100644 index 0000000..35eb1dd --- /dev/null +++ b/.idea/vcs.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/railfence-Maria-Fer-UD/.gitignore b/railfence-Maria-Fer-UD/.gitignore new file mode 100644 index 0000000..e69de29 diff --git a/railfence-Maria-Fer-UD/.idea/.gitignore b/railfence-Maria-Fer-UD/.idea/.gitignore new file mode 100644 index 0000000..13566b8 --- /dev/null +++ b/railfence-Maria-Fer-UD/.idea/.gitignore @@ -0,0 +1,8 @@ +# Default ignored files +/shelf/ +/workspace.xml +# Editor-based HTTP Client requests +/httpRequests/ +# Datasource local storage ignored files +/dataSources/ +/dataSources.local.xml diff --git a/railfence-Maria-Fer-UD/.idea/compiler.xml b/railfence-Maria-Fer-UD/.idea/compiler.xml new file mode 100644 index 0000000..e2bbfc1 --- /dev/null +++ b/railfence-Maria-Fer-UD/.idea/compiler.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/railfence-Maria-Fer-UD/.idea/encodings.xml b/railfence-Maria-Fer-UD/.idea/encodings.xml new file mode 100644 index 0000000..942f3a2 --- /dev/null +++ b/railfence-Maria-Fer-UD/.idea/encodings.xml @@ -0,0 +1,7 @@ + + + + + + + \ No newline at end of file diff --git a/railfence-Maria-Fer-UD/.idea/jarRepositories.xml b/railfence-Maria-Fer-UD/.idea/jarRepositories.xml new file mode 100644 index 0000000..4d27ef0 --- /dev/null +++ b/railfence-Maria-Fer-UD/.idea/jarRepositories.xml @@ -0,0 +1,25 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/railfence-Maria-Fer-UD/.idea/kotlinc.xml b/railfence-Maria-Fer-UD/.idea/kotlinc.xml new file mode 100644 index 0000000..c22b6fa --- /dev/null +++ b/railfence-Maria-Fer-UD/.idea/kotlinc.xml @@ -0,0 +1,6 @@ + + + + + \ No newline at end of file diff --git a/railfence-Maria-Fer-UD/.idea/misc.xml b/railfence-Maria-Fer-UD/.idea/misc.xml new file mode 100644 index 0000000..001e756 --- /dev/null +++ b/railfence-Maria-Fer-UD/.idea/misc.xml @@ -0,0 +1,14 @@ + + + + + + + + + + \ No newline at end of file diff --git a/railfence-Maria-Fer-UD/.idea/vcs.xml b/railfence-Maria-Fer-UD/.idea/vcs.xml new file mode 100644 index 0000000..6c0b863 --- /dev/null +++ b/railfence-Maria-Fer-UD/.idea/vcs.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/railfence-Maria-Fer-UD/pom.xml b/railfence-Maria-Fer-UD/pom.xml new file mode 100644 index 0000000..316f6a7 --- /dev/null +++ b/railfence-Maria-Fer-UD/pom.xml @@ -0,0 +1,88 @@ + + + 4.0.0 + + org.example + railfence-Maria-Fer-UD + 1.0-SNAPSHOT + + + UTF-8 + official + 1.8 + + + + + mavenCentral + https://repo1.maven.org/maven2/ + + + + + src/main/kotlin + src/test/kotlin + + + org.jetbrains.kotlin + kotlin-maven-plugin + 2.1.10 + + + compile + compile + + compile + + + + test-compile + test-compile + + test-compile + + + + + + maven-surefire-plugin + 2.22.2 + + + maven-failsafe-plugin + 2.22.2 + + + org.codehaus.mojo + exec-maven-plugin + 1.6.0 + + MainKt + + + + + + + + org.jetbrains.kotlin + kotlin-test-junit5 + 2.1.10 + test + + + org.junit.jupiter + junit-jupiter + 5.10.0 + test + + + org.jetbrains.kotlin + kotlin-stdlib + 2.1.10 + + + + \ No newline at end of file diff --git a/railfence-Maria-Fer-UD/src/main/kotlin/Main.kt b/railfence-Maria-Fer-UD/src/main/kotlin/Main.kt new file mode 100644 index 0000000..f8abdd6 --- /dev/null +++ b/railfence-Maria-Fer-UD/src/main/kotlin/Main.kt @@ -0,0 +1,103 @@ +//Estudiante: Maria Fernanda Uch Dzib +//Matrícula: 200300643 + +import java.io.File +import javax.swing.JOptionPane +import javax.swing.JScrollPane +import javax.swing.JTextArea + + +//Agregar la funcionalidad de lectura de archivos de texto +//La función lee un archivo de entrada +fun leer_archivo_texto(lectura_archivo:String):String { + var archivo = File(lectura_archivo) + var texto = archivo.readText() + return texto +} + +fun railfence_cifrar(texto:String, rail:Int): String +{ + var resul:String = "" + var repeticion = 2 * (rail -1) //Cada vez que inicia el patron en zigzag, cada 4 + for (r in 0..rail-1){ + for (t in texto.indices){ + if (t % repeticion == r || t % repeticion == repeticion-r){ // + resul+=texto[t] + } + } + } + return resul +} + +fun railfence_descifrar(texto:String, rail:Int): String { + var resul = Array (texto.length){""} //Array vacio + var repeticion = 2 * (rail -1) + var aux_i = 0 + for (r in 0..rail-1){ + for (t in texto.indices){ + if (t % repeticion == r || t % repeticion == repeticion-r){ + + resul[t] = texto[aux_i++].toString() //La posición se agrega en orden + } + } + } + return (resul).reduce{a,b -> a+b} //Convertir el arreglo en string +} + +fun main(){ + var option = 0 + var resul:String = "" + var texto = "" + var accion = "" + var path_resultado = File("src/resultado.txt") + do { + option = Integer.parseInt(JOptionPane.showInputDialog("Cifrado Railfence\n---Menú---\n1. Cifrar\n2. Descifrar\n3. Salir")) + + if (option != 1 && option != 2) { + break + } + //var path = JOptionPane.showInputDialog(null, "Introduce el path del archivo de entrada:") + //var texto = leer_archivo_texto(path) + + var rails = 3 //Se utilizan 3 rieles + JOptionPane.showMessageDialog(null,"Número de Rails = $rails") + when (option){ + 1 -> { + accion = "cifrado" + var path_cifrar = "src/cifrado.txt" + + texto = leer_archivo_texto(path_cifrar) + resul = railfence_cifrar(texto, rails) + path_resultado.writeText(resul) + + JOptionPane.showMessageDialog(null, "El texto de entrada es: \n$texto") + JOptionPane.showMessageDialog(null, "Resultado guardado en el archivo ${path_resultado}") + + } + 2 -> { + accion = "descifrado" + var path_descifrar = "src/descifrado.txt" + + texto = leer_archivo_texto(path_descifrar) + resul = railfence_descifrar(texto, rails) + path_resultado.writeText(resul) + + JOptionPane.showMessageDialog(null, "El texto de entrada es: \n$texto") + JOptionPane.showMessageDialog(null, "Resultado guardado en el archivo ${path_resultado}") + } + } + //Para la visualización del texto cifrado o descifrado + val area_resultado = JTextArea("$resul") + area_resultado.lineWrap = true + area_resultado.wrapStyleWord = true + area_resultado.isEditable = false + + val scrollPane = JScrollPane(area_resultado) + scrollPane.preferredSize = java.awt.Dimension(300, 150) + + //println("\nEl texto $accion del archivo es: \n$resul") //Imprimir en consola + JOptionPane.showMessageDialog(null, scrollPane, "El texto $accion del archivo es:", + JOptionPane.INFORMATION_MESSAGE) + + }while (true) +} diff --git a/railfence-Maria-Fer-UD/target/classes/META-INF/railfence-Maria-Fer-UD.kotlin_module b/railfence-Maria-Fer-UD/target/classes/META-INF/railfence-Maria-Fer-UD.kotlin_module new file mode 100644 index 0000000000000000000000000000000000000000..a477ea3db564f88b9d43f6fbf4308b1bd857dd9e GIT binary patch literal 36 kcmZQzU|?ooU|<4bMj!?QE-o$xAvWK{%slTBB?c`902NIF%>V!Z literal 0 HcmV?d00001 diff --git a/src/cifrado.txt b/src/cifrado.txt new file mode 100644 index 0000000..4b7009c --- /dev/null +++ b/src/cifrado.txt @@ -0,0 +1 @@ +Lo que importa verdaderamente en la vida no son los objetivos que nos marcamos, sino los caminos que seguimos para lograrlo (Peter Bamm) \ No newline at end of file diff --git a/src/descifrado.txt b/src/descifrado.txt new file mode 100644 index 0000000..b86f780 --- /dev/null +++ b/src/descifrado.txt @@ -0,0 +1 @@ +Lumtedme v slotsesros i usror(eaoqeipravraeaet nl ian o o beio u o acms iolscmnsqesgio aalgal PtrBm) o drneadonsjvqnma,noaouemp roe m \ No newline at end of file diff --git a/src/resultado.txt b/src/resultado.txt new file mode 100644 index 0000000..e69de29 diff --git a/untitled/.gitignore b/untitled/.gitignore new file mode 100644 index 0000000..5ff6309 --- /dev/null +++ b/untitled/.gitignore @@ -0,0 +1,38 @@ +target/ +!.mvn/wrapper/maven-wrapper.jar +!**/src/main/**/target/ +!**/src/test/**/target/ + +### IntelliJ IDEA ### +.idea/modules.xml +.idea/jarRepositories.xml +.idea/compiler.xml +.idea/libraries/ +*.iws +*.iml +*.ipr + +### Eclipse ### +.apt_generated +.classpath +.factorypath +.project +.settings +.springBeans +.sts4-cache + +### NetBeans ### +/nbproject/private/ +/nbbuild/ +/dist/ +/nbdist/ +/.nb-gradle/ +build/ +!**/src/main/**/build/ +!**/src/test/**/build/ + +### VS Code ### +.vscode/ + +### Mac OS ### +.DS_Store \ No newline at end of file diff --git a/untitled/.idea/.gitignore b/untitled/.idea/.gitignore new file mode 100644 index 0000000..13566b8 --- /dev/null +++ b/untitled/.idea/.gitignore @@ -0,0 +1,8 @@ +# Default ignored files +/shelf/ +/workspace.xml +# Editor-based HTTP Client requests +/httpRequests/ +# Datasource local storage ignored files +/dataSources/ +/dataSources.local.xml diff --git a/untitled/.idea/encodings.xml b/untitled/.idea/encodings.xml new file mode 100644 index 0000000..942f3a2 --- /dev/null +++ b/untitled/.idea/encodings.xml @@ -0,0 +1,7 @@ + + + + + + + \ No newline at end of file diff --git a/untitled/.idea/kotlinc.xml b/untitled/.idea/kotlinc.xml new file mode 100644 index 0000000..c22b6fa --- /dev/null +++ b/untitled/.idea/kotlinc.xml @@ -0,0 +1,6 @@ + + + + + \ No newline at end of file diff --git a/untitled/.idea/misc.xml b/untitled/.idea/misc.xml new file mode 100644 index 0000000..001e756 --- /dev/null +++ b/untitled/.idea/misc.xml @@ -0,0 +1,14 @@ + + + + + + + + + + \ No newline at end of file diff --git a/untitled/.idea/vcs.xml b/untitled/.idea/vcs.xml new file mode 100644 index 0000000..6c0b863 --- /dev/null +++ b/untitled/.idea/vcs.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/untitled/pom.xml b/untitled/pom.xml new file mode 100644 index 0000000..71e4b8f --- /dev/null +++ b/untitled/pom.xml @@ -0,0 +1,88 @@ + + + 4.0.0 + + org.example + untitled + 1.0-SNAPSHOT + + + UTF-8 + official + 1.8 + + + + + mavenCentral + https://repo1.maven.org/maven2/ + + + + + src/main/kotlin + src/test/kotlin + + + org.jetbrains.kotlin + kotlin-maven-plugin + 2.1.10 + + + compile + compile + + compile + + + + test-compile + test-compile + + test-compile + + + + + + maven-surefire-plugin + 2.22.2 + + + maven-failsafe-plugin + 2.22.2 + + + org.codehaus.mojo + exec-maven-plugin + 1.6.0 + + MainKt + + + + + + + + org.jetbrains.kotlin + kotlin-test-junit5 + 2.1.10 + test + + + org.junit.jupiter + junit-jupiter + 5.10.0 + test + + + org.jetbrains.kotlin + kotlin-stdlib + 2.1.10 + + + + \ No newline at end of file diff --git a/untitled/src/main/kotlin/Main.kt b/untitled/src/main/kotlin/Main.kt new file mode 100644 index 0000000..16a7cde --- /dev/null +++ b/untitled/src/main/kotlin/Main.kt @@ -0,0 +1,16 @@ +package org.example + +//TIP To Run code, press or +// click the icon in the gutter. +fun main() { + val name = "Kotlin" + //TIP Press with your caret at the highlighted text + // to see how IntelliJ IDEA suggests fixing it. + println("Hello, " + name + "!") + + for (i in 1..5) { + //TIP Press to start debugging your code. We have set one breakpoint + // for you, but you can always add more by pressing . + println("i = $i") + } +} \ No newline at end of file From 8216f3a2f53eb57233fecb09225764665283edb2 Mon Sep 17 00:00:00 2001 From: Maria-Fer-UD <200300643@ucaribe.edu.mx> Date: Tue, 18 Mar 2025 23:28:16 -0500 Subject: [PATCH 5/9] Archivos --- railfence-Maria-Fer-UD/.gitignore | 1 + 1 file changed, 1 insertion(+) diff --git a/railfence-Maria-Fer-UD/.gitignore b/railfence-Maria-Fer-UD/.gitignore index e69de29..9f97022 100644 --- a/railfence-Maria-Fer-UD/.gitignore +++ b/railfence-Maria-Fer-UD/.gitignore @@ -0,0 +1 @@ +target/ \ No newline at end of file From b6f2edf62e7a9d0e44b9c23219d9a7a63e7f1e2b Mon Sep 17 00:00:00 2001 From: Maria Fernanda Uch Dzib <142749776+Maria-Fer-UD@users.noreply.github.com> Date: Tue, 18 Mar 2025 23:31:53 -0500 Subject: [PATCH 6/9] Delete .idea directory --- .idea/.gitignore | 8 -------- .idea/compiler.xml | 13 ------------- .idea/encodings.xml | 7 ------- .idea/jarRepositories.xml | 25 ------------------------- .idea/kotlinc.xml | 6 ------ .idea/misc.xml | 14 -------------- .idea/railfence-Maria-Fer-UD.iml | 9 --------- .idea/vcs.xml | 6 ------ 8 files changed, 88 deletions(-) delete mode 100644 .idea/.gitignore delete mode 100644 .idea/compiler.xml delete mode 100644 .idea/encodings.xml delete mode 100644 .idea/jarRepositories.xml delete mode 100644 .idea/kotlinc.xml delete mode 100644 .idea/misc.xml delete mode 100644 .idea/railfence-Maria-Fer-UD.iml delete mode 100644 .idea/vcs.xml diff --git a/.idea/.gitignore b/.idea/.gitignore deleted file mode 100644 index 13566b8..0000000 --- a/.idea/.gitignore +++ /dev/null @@ -1,8 +0,0 @@ -# Default ignored files -/shelf/ -/workspace.xml -# Editor-based HTTP Client requests -/httpRequests/ -# Datasource local storage ignored files -/dataSources/ -/dataSources.local.xml diff --git a/.idea/compiler.xml b/.idea/compiler.xml deleted file mode 100644 index fd2a2c8..0000000 --- a/.idea/compiler.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git a/.idea/encodings.xml b/.idea/encodings.xml deleted file mode 100644 index 942f3a2..0000000 --- a/.idea/encodings.xml +++ /dev/null @@ -1,7 +0,0 @@ - - - - - - - \ No newline at end of file diff --git a/.idea/jarRepositories.xml b/.idea/jarRepositories.xml deleted file mode 100644 index 4d27ef0..0000000 --- a/.idea/jarRepositories.xml +++ /dev/null @@ -1,25 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git a/.idea/kotlinc.xml b/.idea/kotlinc.xml deleted file mode 100644 index c22b6fa..0000000 --- a/.idea/kotlinc.xml +++ /dev/null @@ -1,6 +0,0 @@ - - - - - \ No newline at end of file diff --git a/.idea/misc.xml b/.idea/misc.xml deleted file mode 100644 index 001e756..0000000 --- a/.idea/misc.xml +++ /dev/null @@ -1,14 +0,0 @@ - - - - - - - - - - \ No newline at end of file diff --git a/.idea/railfence-Maria-Fer-UD.iml b/.idea/railfence-Maria-Fer-UD.iml deleted file mode 100644 index d6ebd48..0000000 --- a/.idea/railfence-Maria-Fer-UD.iml +++ /dev/null @@ -1,9 +0,0 @@ - - - - - - - - - \ No newline at end of file diff --git a/.idea/vcs.xml b/.idea/vcs.xml deleted file mode 100644 index 35eb1dd..0000000 --- a/.idea/vcs.xml +++ /dev/null @@ -1,6 +0,0 @@ - - - - - - \ No newline at end of file From 3794b833a9bdeedd66358e696cbc8069dde53b87 Mon Sep 17 00:00:00 2001 From: Maria Fernanda Uch Dzib <142749776+Maria-Fer-UD@users.noreply.github.com> Date: Tue, 18 Mar 2025 23:32:44 -0500 Subject: [PATCH 7/9] Delete untitled directory --- untitled/.gitignore | 38 -------------- untitled/.idea/.gitignore | 8 --- untitled/.idea/encodings.xml | 7 --- untitled/.idea/kotlinc.xml | 6 --- untitled/.idea/misc.xml | 14 ----- untitled/.idea/vcs.xml | 6 --- untitled/pom.xml | 88 -------------------------------- untitled/src/main/kotlin/Main.kt | 16 ------ 8 files changed, 183 deletions(-) delete mode 100644 untitled/.gitignore delete mode 100644 untitled/.idea/.gitignore delete mode 100644 untitled/.idea/encodings.xml delete mode 100644 untitled/.idea/kotlinc.xml delete mode 100644 untitled/.idea/misc.xml delete mode 100644 untitled/.idea/vcs.xml delete mode 100644 untitled/pom.xml delete mode 100644 untitled/src/main/kotlin/Main.kt diff --git a/untitled/.gitignore b/untitled/.gitignore deleted file mode 100644 index 5ff6309..0000000 --- a/untitled/.gitignore +++ /dev/null @@ -1,38 +0,0 @@ -target/ -!.mvn/wrapper/maven-wrapper.jar -!**/src/main/**/target/ -!**/src/test/**/target/ - -### IntelliJ IDEA ### -.idea/modules.xml -.idea/jarRepositories.xml -.idea/compiler.xml -.idea/libraries/ -*.iws -*.iml -*.ipr - -### Eclipse ### -.apt_generated -.classpath -.factorypath -.project -.settings -.springBeans -.sts4-cache - -### NetBeans ### -/nbproject/private/ -/nbbuild/ -/dist/ -/nbdist/ -/.nb-gradle/ -build/ -!**/src/main/**/build/ -!**/src/test/**/build/ - -### VS Code ### -.vscode/ - -### Mac OS ### -.DS_Store \ No newline at end of file diff --git a/untitled/.idea/.gitignore b/untitled/.idea/.gitignore deleted file mode 100644 index 13566b8..0000000 --- a/untitled/.idea/.gitignore +++ /dev/null @@ -1,8 +0,0 @@ -# Default ignored files -/shelf/ -/workspace.xml -# Editor-based HTTP Client requests -/httpRequests/ -# Datasource local storage ignored files -/dataSources/ -/dataSources.local.xml diff --git a/untitled/.idea/encodings.xml b/untitled/.idea/encodings.xml deleted file mode 100644 index 942f3a2..0000000 --- a/untitled/.idea/encodings.xml +++ /dev/null @@ -1,7 +0,0 @@ - - - - - - - \ No newline at end of file diff --git a/untitled/.idea/kotlinc.xml b/untitled/.idea/kotlinc.xml deleted file mode 100644 index c22b6fa..0000000 --- a/untitled/.idea/kotlinc.xml +++ /dev/null @@ -1,6 +0,0 @@ - - - - - \ No newline at end of file diff --git a/untitled/.idea/misc.xml b/untitled/.idea/misc.xml deleted file mode 100644 index 001e756..0000000 --- a/untitled/.idea/misc.xml +++ /dev/null @@ -1,14 +0,0 @@ - - - - - - - - - - \ No newline at end of file diff --git a/untitled/.idea/vcs.xml b/untitled/.idea/vcs.xml deleted file mode 100644 index 6c0b863..0000000 --- a/untitled/.idea/vcs.xml +++ /dev/null @@ -1,6 +0,0 @@ - - - - - - \ No newline at end of file diff --git a/untitled/pom.xml b/untitled/pom.xml deleted file mode 100644 index 71e4b8f..0000000 --- a/untitled/pom.xml +++ /dev/null @@ -1,88 +0,0 @@ - - - 4.0.0 - - org.example - untitled - 1.0-SNAPSHOT - - - UTF-8 - official - 1.8 - - - - - mavenCentral - https://repo1.maven.org/maven2/ - - - - - src/main/kotlin - src/test/kotlin - - - org.jetbrains.kotlin - kotlin-maven-plugin - 2.1.10 - - - compile - compile - - compile - - - - test-compile - test-compile - - test-compile - - - - - - maven-surefire-plugin - 2.22.2 - - - maven-failsafe-plugin - 2.22.2 - - - org.codehaus.mojo - exec-maven-plugin - 1.6.0 - - MainKt - - - - - - - - org.jetbrains.kotlin - kotlin-test-junit5 - 2.1.10 - test - - - org.junit.jupiter - junit-jupiter - 5.10.0 - test - - - org.jetbrains.kotlin - kotlin-stdlib - 2.1.10 - - - - \ No newline at end of file diff --git a/untitled/src/main/kotlin/Main.kt b/untitled/src/main/kotlin/Main.kt deleted file mode 100644 index 16a7cde..0000000 --- a/untitled/src/main/kotlin/Main.kt +++ /dev/null @@ -1,16 +0,0 @@ -package org.example - -//TIP To Run code, press or -// click the icon in the gutter. -fun main() { - val name = "Kotlin" - //TIP Press with your caret at the highlighted text - // to see how IntelliJ IDEA suggests fixing it. - println("Hello, " + name + "!") - - for (i in 1..5) { - //TIP Press to start debugging your code. We have set one breakpoint - // for you, but you can always add more by pressing . - println("i = $i") - } -} \ No newline at end of file From 6d69374d9efc05ab719f5414c4bcee55929668e0 Mon Sep 17 00:00:00 2001 From: Maria Fernanda Uch Dzib <142749776+Maria-Fer-UD@users.noreply.github.com> Date: Tue, 18 Mar 2025 23:33:19 -0500 Subject: [PATCH 8/9] Delete src directory --- src/Main.kt | 105 --------------------------------------------- src/cifrado.txt | 1 - src/descifrado.txt | 1 - src/resultado.txt | 0 4 files changed, 107 deletions(-) delete mode 100644 src/Main.kt delete mode 100644 src/cifrado.txt delete mode 100644 src/descifrado.txt delete mode 100644 src/resultado.txt diff --git a/src/Main.kt b/src/Main.kt deleted file mode 100644 index 4409790..0000000 --- a/src/Main.kt +++ /dev/null @@ -1,105 +0,0 @@ -//Estudiante: Maria Fernanda Uch Dzib -//Matrícula: 200300643 - -import java.io.File -import javax.swing.JOptionPane -import javax.swing.JScrollPane -import javax.swing.JTextArea - - -//Agregar la funcionalidad de lectura de archivos de texto -//La función lee un archivo de entrada -fun leer_archivo_texto(lectura_archivo:String):String { - var archivo = File(lectura_archivo) - var texto = archivo.readText() - return texto -} - -//cifrado -fun railfence_cifrar(texto:String, rail:Int): String -{ - var resul:String = "" - var repeticion = 2 * (rail -1) //Cada vez que inicia el patron en zigzag, cada 4 - for (r in 0..rail-1){ - for (t in texto.indices){ - if (t % repeticion == r || t % repeticion == repeticion-r){ // - resul+=texto[t] - } - } - } - return resul -} - -//descifrado -fun railfence_descifrar(texto:String, rail:Int): String { - var resul = Array (texto.length){""} //Array vacio - var repeticion = 2 * (rail -1) - var aux_i = 0 - for (r in 0..rail-1){ - for (t in texto.indices){ - if (t % repeticion == r || t % repeticion == repeticion-r){ - - resul[t] = texto[aux_i++].toString() //La posición se agrega en orden - } - } - } - return (resul).reduce{a,b -> a+b} //Convertir el arreglo en string -} - -fun main(){ - var option = 0 - var resul:String = "" - var texto = "" - var accion = "" - var path_resultado = File("src/resultado.txt") - do { - option = Integer.parseInt(JOptionPane.showInputDialog("Cifrado Railfence\n---Menú---\n1. Cifrar\n2. Descifrar\n3. Salir")) - - if (option != 1 && option != 2) { - break - } - //var path = JOptionPane.showInputDialog(null, "Introduce el path del archivo de entrada:") - //var texto = leer_archivo_texto(path) - - var rails = 3 //Se utilizan 3 rieles - JOptionPane.showMessageDialog(null,"Número de Rails = $rails") - when (option){ - 1 -> { - accion = "cifrado" - var path_cifrar = "src/cifrado.txt" - - texto = leer_archivo_texto(path_cifrar) - resul = railfence_cifrar(texto, rails) - path_resultado.writeText(resul) - - JOptionPane.showMessageDialog(null, "El texto de entrada es: \n$texto") - JOptionPane.showMessageDialog(null, "Resultado guardado en el archivo ${path_resultado}") - - } - 2 -> { - accion = "descifrado" - var path_descifrar = "src/descifrado.txt" - - texto = leer_archivo_texto(path_descifrar) - resul = railfence_descifrar(texto, rails) - path_resultado.writeText(resul) - - JOptionPane.showMessageDialog(null, "El texto de entrada es: \n$texto") - JOptionPane.showMessageDialog(null, "Resultado guardado en el archivo ${path_resultado}") - } - } - //Para la visualización del texto cifrado o descifrado - val area_resultado = JTextArea("$resul") - area_resultado.lineWrap = true - area_resultado.wrapStyleWord = true - area_resultado.isEditable = false - - val scrollPane = JScrollPane(area_resultado) - scrollPane.preferredSize = java.awt.Dimension(300, 150) - - //println("\nEl texto $accion del archivo es: \n$resul") //Imprimir en consola - JOptionPane.showMessageDialog(null, scrollPane, "El texto $accion del archivo es:", - JOptionPane.INFORMATION_MESSAGE) - - }while (true) -} \ No newline at end of file diff --git a/src/cifrado.txt b/src/cifrado.txt deleted file mode 100644 index 4b7009c..0000000 --- a/src/cifrado.txt +++ /dev/null @@ -1 +0,0 @@ -Lo que importa verdaderamente en la vida no son los objetivos que nos marcamos, sino los caminos que seguimos para lograrlo (Peter Bamm) \ No newline at end of file diff --git a/src/descifrado.txt b/src/descifrado.txt deleted file mode 100644 index b86f780..0000000 --- a/src/descifrado.txt +++ /dev/null @@ -1 +0,0 @@ -Lumtedme v slotsesros i usror(eaoqeipravraeaet nl ian o o beio u o acms iolscmnsqesgio aalgal PtrBm) o drneadonsjvqnma,noaouemp roe m \ No newline at end of file diff --git a/src/resultado.txt b/src/resultado.txt deleted file mode 100644 index e69de29..0000000 From 9542de4e78a700685172a9d1074f00e5595226b2 Mon Sep 17 00:00:00 2001 From: Maria Fernanda Uch Dzib <142749776+Maria-Fer-UD@users.noreply.github.com> Date: Tue, 18 Mar 2025 23:41:35 -0500 Subject: [PATCH 9/9] Update README.md --- README.md | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index f1c7693..8a7c9b7 100644 --- a/README.md +++ b/README.md @@ -1,3 +1,7 @@ [![Review Assignment Due Date](https://classroom.github.com/assets/deadline-readme-button-22041afd0340ce965d47ae6ef1cefeee28c7c493a6346c4f15d667ab976d596c.svg)](https://classroom.github.com/a/2QuvjImd) [![Open in Visual Studio Code](https://classroom.github.com/assets/open-in-vscode-2e0aaae1b6195c2367325f4f02e2d04e9abb55f0b24a779b69b11b9e10269abc.svg)](https://classroom.github.com/online_ide?assignment_repo_id=18756652&assignment_repo_type=AssignmentRepo) -# criptoKotlin \ No newline at end of file +# criptoKotlin + +El código corresponde al cifrado railfence. + +Dentro de la carpeta railfence-Maria-Fer-UD/src se encuentra el main en donde se encuentra el código y los archivos de entrada(con el texto) y el archivo en donde se almacena el resultado del cifrado o descifrado.