Como encriptar informacion?

Como encriptar informacion?

Estoy trabajando con postgresql y tengo un problema con la encriptacion de contraseñas. Quiero encriptar las contraseñas con sha1 y no me deja.

Instale postgresql-contrib-8.3 y trate de utilizar la funcion pgcrypto.sql de esta manera:

postgres@pc:# cd /usr/share/postgresql/8.3/contrib

postgres@pc//usr/share/postgresql/8.3/contrib :# psql -U usuario . -d base_de_dato -f crypto.sql

CREATE FUNCION : esto es lo que me da como resultado

CREATE FUNCION

CREATE FUNCION
....

despues de ejecutar el codigo anterior pruebo con encriptar las contraseña y no reconoce ninguna funcion q utilice, sha1, encryp, etc....

Solo funciona con md5, sin necesidad de haber instalado postgresql-contrib-8.3.

Alguna ayuda? lo q sea para poder hacer funcionar por lo menos sha1...

Saludos cordiales.-

Felicidades..!!!

Cristian..-

Opciones de visualización de comentarios

Seleccione la forma que prefiera para mostrar los comentarios y haga clic en «Guardar las opciones» para activar los cambios.

Re: Como encriptar informacion

¿Como intentas encriptar la contraseña con sha1? ¿Que comando utilizas y que error te da?

Re: Como encryptar informacion?

Intento guardar esta informacion:

prueba=# insert into nombres (nombre,apellido) values ('pepe', sha1('pepito'));
ERROR: function sha1(unknown) does not exist
LINE 1: ...rt into nombres (nombre,apellido) values ('pepe', sha1('pepi...
^
HINT: No function matches the given name and argument types. You might need to add explicit type casts.
prueba=#

Tambien me da error con encrypt. No tengo idea de como utilizar estas funciones.

Con md5 no tengo ningun problema.-

Que me esta faltando (ademas de inteligencia) ?

Re:Como encriptar informacion?

Ademas de lo anterior probe de la siguiente manera:

prueba=# insert into nombres (nombre,apellido) values ('pepe', crypt('pepito', gen_salt('sha1')));
ERROR: gen_salt: Unknown salt algorithm

Despues pruebo asi:
prueba=# insert into nombres (nombre,apellido) values ('pinguino', crypt('pepito', gen_salt('md5')));
INSERT 0 1

Y funciona, es decir, con md5 la cosa anda bien pero a sha1 ni ahi q la reconoce. Ha de ser algun problema de configuracion, pero nose...

Re:Como encriptar informacion?

Resolvi el problema para encriptar con sha1

en el archivo pgcrypto.sql cree esta funcion:

CREATE OR REPLACE FUNCTION sha1(bytea) returns text AS $$
SELECT encode(digest($1, 'sha1'), 'hex')
$$ LANGUAGE SQL STRICT IMMUTABLE;

y la siguiente sentencia funciono:

prueba=# insert into nombres (nombre, apellido) values ('pinguino', sha1('test'));
INSERT 0 1

Despues quise probar esto:

prueba=# insert into nombres (nombre, apellido) values ('pinguino', crypt('test', gen_salt('sha1')));
ERROR: gen_salt: Unknown salt algorithm

y como se ve, sigue dando error con el algoritmo sha1, con md5 no lo hace.

Pregunta:
-Que algoritmo es mas seguro para encriptar un campo (por ejemplo: contraseñas) de una tabla?

Porque la idea es utilizar un algoritmo lo suficientemente seguro.

-Cual me recomendarias?

Enviar nuevo comentario

  • Las direcciones de las páginas web y las de correo se convierten en enlaces automáticamente.
  • Etiquetas HTML permitidas: <a> <em> <strong> <cite> <code> <ul> <ol> <li> <dl> <dt> <dd><h2><pre>
  • Saltos automáticos de líneas y de párrafos.

Más información sobre opciones de formato

Image CAPTCHA
Enter the characters shown in the image.