Programacion Facil

Programacion Facil

viernes, 2 de diciembre de 2011

Phyton para todos

Aunque no soy un experto para este lenguaje, he visto que muchos programadores dicen que es uno de los mejores lenguajes para programar,una ves escuche una frase que decia "si quieres enamorarte otra ves de tu profesion, programa en phyton",bue.. aca les dejo una guia basica de phyton, el link es http://myfreefilehosting.com/f/bf845c1c12_1.21MB solo copiar y pegar el link en tu navegador

Desencriptacion(Ejemplo Grafico)



En la imagen se puede ver claramente la ejecucion del procedimiento de almacenado encriptar llamado mediante la consola SQL-Plus de Oracle con el comando call encriptar(10,'pepe').
Luego para desencriptar es un poco mas complicado ya que debemos crear un cursor mediante el codigo
variable cursor refcursor;
este codigo tambien es mediante Sql/Plus,luego se debe llamar al procedimiento de almacenado y pasarle el cursor previamente creado y un id para que vaya a la tabla de pruebas y busque a la tupla que tiene ese id y desencriptar el campo nombre de dicha tupla.El codigo si no se logra ver es:
call desencriptar (:cursor,10);
luego que se haya cargado el cursor con los datos necesarios lo que falta es imprimirlo:
print cursor;
Con esto concluye todo este pequeño tutorial para encriptar en base de datos oracle.
Esta demas mencionar que hay metodos ya precargados en oracle para la encriptacion de campos en las tablas,pero es bueno expandir nuestros propios horizontes

Desencriptacion(Procedimiento de Almacenado)

A continuacion se muestra la desencriptacion del metodo que previamente mostramos de ejemplo.


create or replace
PROCEDURE desencriptar(cursor out sys_refcursor,idd NUMBER) AS
clave VARCHAR(50);
ClaveEncriptada VARCHAR(50);
Longitud NUMBER;
aux NUMBER;
BEGIN
SELECT nombre INTO clave FROM prueba where id=idd;
Longitud := LENGTH(clave);
aux:=0;
FOR I IN 1..Longitud LOOP
ClaveEncriptada:=CONCAT(ClaveEncriptada,CHR(SUBSTR(UPPER(clave),I+aux,2)));
aux:=aux+1;
END LOOP;
open cursor for select ClaveEncriptada as Usuario from dual;
END desencriptar;

Metodo de Encriptacion para Base de Datos en Oracle (Parte 2)

-------------------------------------------------------------------------------------------------------------
create or replace
PROCEDURE encriptar(id in NUMBER, nombre in VARCHAR) AS
ClaveEncriptada VARCHAR(50);
Clave VARCHAR(50);
Longitud NUMBER;
BEGIN
Longitud := LENGTH(nombre);
FOR I IN 1..Longitud LOOP
ClaveEncriptada:=CONCAT(ClaveEncriptada,ASCII(SUBSTR(UPPER(nombre),I,1)));
END LOOP;
INSERT into prueba values(id,ClaveEncriptada);
END encriptar;
-------------------------------------------------------------------------------------------------------------
En este codigo se logra encriptar un campo de una tabla de pruebas creada con solo dos atributos, el id y un nombre,el metodo de encriptacion utiliza en codigo ascii para encriptar el parametro nombre luego de convertir todos sus capos a mayuscula.

Metodo de Encriptacion para Base de Datos en Oracle (Parte 1)

Para este metodo de encriptacion personalizado con oracle es necesario aclarar algunas cosas para poder comprender de lleno al codigo.
Vamos a utilizar una función de oracle llamada SUBSTR, lo que hace esta funcion es devolver una subcadena de char de n caracteres a partir de la posicion m.
Si m es positivo, empieza a contar desde el principio.
Si m es negativo, empieza a contar desde el final.
Si no ponemos n, devuelve hasta el final de la cadena.
SUBSTR(char, m [, n])
Si ejecutamos:
SELECT SUBSTR('PEPE PEREZ',6) FROM DUAL;
Devuelve PEREZ
Si ejecutamos:
SELECT SUBSTR('PEPE PEREZ',6,3) FROM DUAL;
Devuelve PER
En el primer valor('1er valor',6,3) le pasamos a la funcion una cadena de la cual vamos a sacar una subcadena.
Con el segundo valor ('PEPE PEREZ',2do valor,3) le estamos diciendo a la funcion desde que posicion de la cadena va a sacar la subcadena,o sea que va comenzar a tomar desde la P de PEREZ ya que el espacio que existe entre PEPE y PEREZ cuenta como un caracter.
Por ultimo con el tercer valor('PEPE PEREZ',6,3er VALOR)le decimos a la funcion cuantos espacios quiero que me tome para la subcadena,comenzando obviamente desde el segundo valor,por ejemplo,el segundo valor es 6,asi que la subcadena comenzaria en P de PEREZ y tomaria 3 campos despues de esa incluyendo a la P,el resultado sera PER, este tercer valor puede ser anotado o no,depende de la necesidad del programador
Tambien puedes ingresar a la pagina http://ora.u440.com/ para mayor informacion sobre funciones ORACLE

ACLARACION!!!!!


Debido a unos problemas el blog que tenia con anterioridad http://prograparatodos.blogspot.com/
voy a dejar de utilizarlo,por su parte voy a copiar el contenido de ese blog a este blog.

Presentacion

Bienvenidos al el blog de la programacion facil,espero que encuentres lo que estabas buscando,este blog tiene como finalidad la ayuda hacia los estudiantes de carreras informaticas y de sistemas, como a su ves hacia las personas que quieran aprender un poco sobre este mundo llamado programacion :D