Foros del Web » Programación para mayores de 30 ;) » .NET »

[SOLUCIONADO] Pasar esta fórmula matemática

Estas en el tema de Pasar esta fórmula matemática en el foro de .NET en Foros del Web. Buenas: De esta fórmula que no entiendo, quiero pasarlo a Visual C# 2013 express. Código: int num = Convert.ToInt32(seedNumber.Substring(0, 6), 0x10); int num2 = num ...
  #1 (permalink)  
Antiguo 31/01/2014, 15:39
 
Fecha de Ingreso: mayo-2007
Ubicación: PIC-16F84A
Mensajes: 727
Antigüedad: 17 años
Puntos: 8
Pasar esta fórmula matemática

Buenas:

De esta fórmula que no entiendo, quiero pasarlo a Visual C# 2013 express.

Código:
    int num = Convert.ToInt32(seedNumber.Substring(0, 6), 0x10);
    int num2 = num + 0x10f0a563;
    int num3 = Convert.ToInt32(seedNumber.Substring(10, 2), 0x10) & 7;
    int num4 = (num2 >> num3) | (num2 << (0x20 - num3));
    num4 ^=  num;
    return num4.ToString("X");
En el Form1 tiene añade estos componentes, 2 textBox y un Buttons, más 2 label.

Los componentes lo he llamado así:

textBox_seedNumber para introducir unos códigos hexadecimales.
textBox_Password que te devuelve otro código al pulsar el botón.

¿Cómo se hace?

Un saludo.
__________________
Meta Shell, VERSIÓN 1.2.2
Descargar
  #2 (permalink)  
Antiguo 09/03/2014, 13:24
Avatar de geq
geq
 
Fecha de Ingreso: agosto-2006
Ubicación: Rosario
Mensajes: 655
Antigüedad: 17 años, 9 meses
Puntos: 22
Respuesta: Pasar esta fórmula matemática

Hola, a primera vista calculo que es algo así:

Código c#:
Ver original
  1. string seedNumber = textBox_seedNumber.Text; //Obtener el código y guardarlo en la variable que usa para el cálculo
  2.  
  3. int num = Convert.ToInt32(seedNumber.Substring(0, 6), 0x10);
  4. int num2 = num + 0x10f0a563;
  5. int num3 = Convert.ToInt32(seedNumber.Substring(10, 2), 0x10) & 7;
  6. int num4 = (num2 >> num3) | (num2 << (0x20 - num3));
  7. num4 ^=  num;
  8.  
  9. //En vez de devolver el resultado, cargarlo en el otro textbox
  10. textBox_Password = num4.ToString("X");

Esto iría en el evento Click del botón.

Otra forma sería meter eso tal como está en un método donde le pases seedNumber y te devuelva el string.

Saludos.
  #3 (permalink)  
Antiguo 09/03/2014, 22:10
 
Fecha de Ingreso: mayo-2007
Ubicación: PIC-16F84A
Mensajes: 727
Antigüedad: 17 años
Puntos: 8
Respuesta: Pasar esta fórmula matemática

Me funciona así:

Código:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;

namespace ZyXEL
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void button_Generar_Click(object sender, EventArgs e)
        {
            try
            {
                textBox_Password.Text = Calculo_Password(textBox_seedNumber.Text);
            }
            catch (Exception ex)
            {
                MessageBox.Show("Los números deben ser de 12 cifras hexadeximales [0-9, A-F, a-f]", "Error",
                    MessageBoxButtons.OK, MessageBoxIcon.Error);
            } 
        }

        private string Calculo_Password(string seedNumber)
        {
            int num = Convert.ToInt32(seedNumber.Substring(0, 6), 0x10);
            int num2 = num + 0x10f0a563;
            int num3 = Convert.ToInt32(seedNumber.Substring(10, 2), 0x10) & 7;
            int num4 = (num2 >> num3) | (num2 << (0x20 - num3));
            num4 ^= num;
            return num4.ToString("X");
        } 
    }
}
Gracias.
__________________
Meta Shell, VERSIÓN 1.2.2
Descargar

Etiquetas: visual
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 23:57.