Jump to content
  • Sky
  • Blueberry
  • Slate
  • Blackcurrant
  • Watermelon
  • Strawberry
  • Orange
  • Banana
  • Apple
  • Emerald
  • Chocolate
  • Charcoal

Zentraedi

Newbie
  • Content Count

    8
  • Posts on chatbox

    0
  • Joined

  • Last visited

Community Reputation

4 Neutral

About Zentraedi

  • Rank
    Newbie

Recent Profile Visitors

The recent visitors block is disabled and is not being shown to other users.

  1. Zentraedi

    Cifrado Cesar para android en Xamarin.Android by Zentraedi

    Visual Studio que tiene intregrado Xamarin studio. Son aplicaciones nativas con c#
  2. Hola sigo practicando con las aplicaciones android y acá les traigo un nuevo programa quizás viejo pero al mismo tiempo interesante para quienes estamos aprendiendo día a día a programar y porque no en android. Esta app consiste en el famoso cifrado de César con el cual enviaba mensajes a sus comandantes para dirigir su ejercito y no correr el riesgo que sus enemigos puedan leer este mensaje, si bien ya es un poco viejo y existen mejores formas de cifrado, se me ocurrió implementarlo en android de igual manera en forma de practica y exponerlo para aquellos que quieran aventurarse en la programación para teléfonos móviles. El programa consiste en leer letra por letra y desplazarla según la clave. EJ : si Clave= 2..... A=C, B=D, C=D, etc. El mensaje cifrado puede enviarse por E-mail utilizando nuestra cuenta configurada en el telefono. Capturas de la app: Ver 1.0 Ver 2.0 (envia E-mails) Código para Xamarin en C#: using System; using Android.App; using Android.Content; using Android.Runtime; using Android.Views; using Android.Widget; using Android.OS; namespace CifradoCesar { [Activity(Label = "CifradoCesar", MainLauncher = true, Icon = "@drawable/icon")] public class MainActivity : Activity { static string abc = "abcdefghijklmnñopqrstuvwxyzABCDEFGHIJKLMNÑOPQRSTUVWXYZ_-+,#$%/()¿?¡!|,.;:{}[]"; EditText Clave, Mensaje; ImageButton Cifrar, Borrar, Descifrar, Enviar; TextView Msj; protected override void OnCreate(Bundle bundle) { base.OnCreate(bundle); // Set our view from the "main" layout resource SetContentView(Resource.Layout.Main); Clave = FindViewById(Resource.Id.editText1); Mensaje = FindViewById(Resource.Id.editText2); Cifrar = FindViewById(Resource.Id.imageButton1); Borrar = FindViewById(Resource.Id.imageButton2); Descifrar = FindViewById(Resource.Id.imageButton3); Msj = FindViewById(Resource.Id.textView2); Enviar = FindViewById(Resource.Id.Enviar); Clave.Text = "0"; Cifrar.Click += delegate { if (Clave.Text.Equals("")) { AlertDialog.Builder alert = new AlertDialog.Builder(this); AlertDialog error = alert.Create(); error.SetTitle("Error"); error.SetIcon(Android.Resource.Drawable.IcDialogAlert); error.SetMessage("Debes colocar la clave para Cifrar"); error.SetButton("OK", (w, a) => { }); error.Show(); } else { int clave = Convert.ToInt32(Clave.Text); if (clave > 76 || clave == 0) { AlertDialog.Builder alert = new AlertDialog.Builder(this); AlertDialog error = alert.Create(); error.SetTitle("Error"); error.SetIcon(Android.Resource.Drawable.IcDialogAlert); error.SetMessage("La clave no es un numero valido, la clave debe ser un numero de 1 a 76"); error.SetButton("OK", (w, a) => { }); error.Show(); } else if (Mensaje.Text == "") { AlertDialog.Builder alert = new AlertDialog.Builder(this); AlertDialog error = alert.Create(); error.SetTitle("Error"); error.SetIcon(Android.Resource.Drawable.IcDialogAlert); error.SetMessage("No hay mensaje para cifrar, escribe uno"); error.SetButton("OK", (w, a) => { }); error.Show(); } else { string MsjCifrado = cifrar(Mensaje.Text, clave); Mensaje.Text = MsjCifrado; Msj.Text = "Mensaje Cifrado:"; } } }; Descifrar.Click += delegate { if (Clave.Text.Equals("")) { AlertDialog.Builder alert = new AlertDialog.Builder(this); AlertDialog error = alert.Create(); error.SetTitle("Error"); error.SetIcon(Android.Resource.Drawable.IcDialogAlert); error.SetMessage("Debes colocar la clave para Descifrado"); error.SetButton("OK", (w, a) => { }); error.Show(); } else { int clave = Convert.ToInt32(Clave.Text); if (clave > 76 || clave == 0) { AlertDialog.Builder alert = new AlertDialog.Builder(this); AlertDialog error = alert.Create(); error.SetTitle("Error"); error.SetIcon(Android.Resource.Drawable.IcDialogAlert); error.SetMessage("La clave no es un numero valido, la clave debe ser un numero de 1 a 76"); error.SetButton("OK", (w, a) => { }); error.Show(); } else if (Mensaje.Text == "") { AlertDialog.Builder alert = new AlertDialog.Builder(this); AlertDialog error = alert.Create(); error.SetTitle("Error"); error.SetIcon(Android.Resource.Drawable.IcDialogAlert); error.SetMessage("No hay mensaje para descifrar"); error.SetButton("OK", (w, a) => { }); error.Show(); } else { string MsjeDescifrado = descifrar(Mensaje.Text, clave); Mensaje.Text = MsjeDescifrado; Msj.Text = "Mensaje Descifrado:"; } } }; Enviar.Click += (s, e) => { if (Mensaje.Text == "") { AlertDialog.Builder alert = new AlertDialog.Builder(this); AlertDialog error = alert.Create(); error.SetTitle("Error"); error.SetIcon(Android.Resource.Drawable.IcDialogAlert); error.SetMessage("No hay ningun mensaje para enviar"); error.SetButton("OK", (w, a) => { }); error.Show(); } else { Intent email = new Intent(Intent.ActionSend); email.PutExtra(Intent.ExtraText, Mensaje.Text.ToString()); email.SetType("message/rfc822"); StartActivity(Intent.CreateChooser(email, "Enviar por medio de:")); } }; Borrar.Click += delegate { Clave.Text = "0"; Mensaje.Text = ""; Msj.Text = "Mensaje:"; }; } static string cifrar(string mensaje, int clave) { String cifrado = ""; if (clave > 0 && clave { for (int i = 0; i { int posCaracter = getPosABC(mensaje[i]); if (posCaracter != -1) { int pos = posCaracter + clave; while (pos >= abc.Length) { pos = pos - abc.Length; } cifrado += abc[pos]; } else { cifrado += mensaje[i]; } } } return cifrado; } static string descifrar(string mensaje, int clave) { String cifrado = ""; if (clave > 0 && clave { for (int i = 0; i { int posCaracter = getPosABC(mensaje[i]); if (posCaracter != -1) { int pos = posCaracter - clave; while (pos { pos = pos + abc.Length; } cifrado += abc[pos]; } else { cifrado += mensaje[i]; } } } return cifrado; } static int getPosABC(char caracter) { for (int i = 0; i { if (caracter == abc[i]) { return i; } } return -1; } } } Link de descarga: CifradoCesarV2.0-ByZentraedi Espero que sea de su agrado y que si tienen tiempo la prueben y me comenten si les agrado o no o alguna recomendacion para seguir progresando, acepto todo tipo de criticas al respecto. Saludos.
  3. Zentraedi

    Saludos de un zentraedi

    Hola a todos, me presento, soy de argentina, tengo conocimientos basicos de php pero me gusta mucho la programacion, en lo que mas he desarrollado es en C# y en android con C#. Tengo conocimientos sobre HTML y CSS ya que fue diseñador de paginas web, pero ahora vamos por mas y seguir avanzando en PHP para seguir adquiriendo conocimientos, se programar, pero no me considero programador. Un saludo y gracias por compartir sus conocimientos.
×