CÓDIGO FUENTE

En esta sección vamos a ir colocando todo tipo de código fuente sobre programación e Internet.
Esta página está abierta a vuestras aportaciones, por lo que quien esté interesado en publicar cualquer tipo de código fuente sólo tiene que enviarnoslo a nuestra dirección de correo, indicando la versión del compilador con el que ha sido realizado.

Códigos Fuente disponibles

Últimos 5 códigos introducidos

Piezas de cubos de Rubik


Java

Publicado el 09 de Diciembre del 2016 por Roque
9 visualizaciones desde el 09 de Diciembre del 2016
Este código sirve para proporcionar información sobre las piezas del cubo de Rubik que se indique.
Imágen de perfil
Actualizado

Clase para crear y validar contraseñas seguras


PHP

estrellaestrellaestrellaestrellaestrella(2)
Actualizado el 09 de Diciembre del 2016 por kip (Creado el 17 de Octubre del 2016)
908 visualizaciones desde el 17 de Octubre del 2016. Una media de 126 por semana
Clase sencilla que ayuda a crear y asi mismo a validar contraseñas, para la creación de estas usa el algoritmo BLOWFISH incluido ya en PHP.

Ejemplos de uso:

Crear un hash a partir de una variable $_POST

1
2
3
4
5
require 'phasswordClass.php';
 
$obj = new Phassword;
$password_post = $_POST['password'];
$password_hash = $obj->cryptphass($password_post);

Validar una contraseña a partir de una contraseña ingresada y tomar el hash ya almacenado en la base de datos

1
2
3
4
5
6
7
8
9
10
11
require 'phasswordClass.php';
 
$obj = new Phassword;
$password_post = $_POST['password'];
 
//$password_base_de_datos es la variable de la contraseña almacenada en la base
//creado con la funcion cryptphass() de esta misma clase
 
if ($obj->verifphass($password_post, $password_base_de_datos)) {
	echo 'Contraseña valida!';
}

Es posible modificar el coste por defecto a usar en la encriptación, el que toma por defecto es el 10 un coste optimo pero depende del hardware y puede aumentarse de esta forma:

1
2
3
4
5
6
require 'phasswordClass.php';
 
$obj = new Phassword;
$obj->coste = 15;
$password_post = $_POST['password'];
$password_hash = $obj->cryptphass($password_post);

Esta clase funciona con una version de PHP mayor o igual a 5.3.7 en este caso usa la funcion crypt() y en el caso de tener una version mayor o igual a 5.5 usa la funcion password_hash() para crear el hash de la contraseña.

En caso de tener una duda acerca de lo expuesto anteriormente es mejor hacer una evaluacion del retorno de la funcion que crea el hash y asi mismo en caso de que exista un error mostrarlo llamando a la variable 'error' de la clase, asi:

1
2
3
4
5
6
7
8
9
10
11
require 'phasswordClass.php';
 
$obj = new Phassword;
$password_post = $_POST['password'];
$password_hash = $obj->cryptphass($password_post);
 
if (!$password_hash) {
	echo $obj->error;
} else {
	echo 'Contraseña creada!';
}

Lo mejor seria tener una versión estable PHP para la correcta creación y verificación de contraseñas.

Cualquier error o duda comentarlo por aqui.

Saludos
Imágen de perfil

Ejemplo sumar y restar días a una fecha con PHP


PHP

estrellaestrellaestrellaestrellaestrella(1)
Actualizado el 09 de Diciembre del 2016 por ScriptShow (Creado el 06 de Diciembre del 2016)
113 visualizaciones desde el 06 de Diciembre del 2016
Recurrente tema el de sumar y restar días a una fecha...

Esta imagen detalla algunos ejemplos en PHP:

fechas_php

Espero sea útil.

Un saludo
Imágen de perfil

Agoritmo de Distancia de Levenshtein


Visual CSharp .NET

estrellaestrellaestrellaestrellaestrella(1)
Actualizado el 09 de Diciembre del 2016 por Gustavo (Creado el 07 de Diciembre del 2016)
148 visualizaciones desde el 07 de Diciembre del 2016
Hola a todos, esta vez comparto un proyecto sobre el cual he estado trabajando, el propósito de este proyecto es lograr identificar que tan diferentes son dos palabras (para mi caso de uso nombres), para lo cual he implementado un ya muy extendido algoritmo de calculo de Distancia, a continuación la descripción del mismo, texto tomado de Wikipedia.

La distancia de Levenshtein o distancia entre palabras es el número mínimo de operaciones requeridas para transformar una cadena de caracteres en otra. Se entiende por operación, bien una inserción, eliminación o la sustitución de un carácter. Es útil en programas que determinan cuán similares son dos cadenas de caracteres.

Por ejemplo, la distancia de Levenshtein entre "casa" y "calle" es de 3 porque se necesitan al menos tres ediciones elementales para cambiar uno en el otro.

casa → cala (sustitución de 's' por 'l')
cala → calla (inserción de 'l' entre 'l' y 'a')
calla → calle (sustitución de 'a' por 'e')

Para el ejemplo que comparto he desarrollado una ventana de pruebas que consume el algoritmo tanto en c# como en visual basic.

Primero compara Apellidos, luego compara si hay cambios entre apellido y nombre, luego compara nombre y luego segundo nombre, para todo usa el algoritmo de distancia, por ultimo en caso de que no sea aprobado la comparación nombre a nombre, usa toda la cadena de nombres para comparar y dar el resultado final.

Recibe como parámetros de entrada Source1 = Nombre1+Nombre2+Apellido, y Source2 (igual que el anterior), estos los he puesto en una clase para enviarlo como parámetro.

Los resultados están en una clase que devuelve, MENSAJE, LOG, y un boolean indicando el resultado.

Copio solo el código del Algoritmo, la implementación del mismo estará para descargar.

Cualquier comentario me escriben.

Acá ejemplos:

pic1
pic2
pic3
Imágen de perfil

Tablas de Multiplicar


Java

Actualizado el 09 de Diciembre del 2016 por Jeffree (Creado el 08 de Diciembre del 2016)
85 visualizaciones desde el 08 de Diciembre del 2016
Este código le permite al usuario presentar cualquier tabla de multiplicar que el ingrese por teclado, a la vez de un limite que nos permite indicar hasta que número queremos que aparezca la tabla, por ejemplo: si el usuario ingresa el número 5 y de límite pone 10, en pantalla le saldrá la tabla del cinco multiplicando hasta el 10 (5x10=50).