Son funciones no documentadas de SQL Server, que sirven para encriptar información (pwdencrypt) y la otra para comparar un string no encriptado (pwdcompare), con la representación de un string encriptado.
No tendremos forma de decodificar en base al string generado. Pero nos podemos apoyar de la función pwdcompare, para validar si el string que tenemos de información pertenece al string encriptado o no. Si es igual regresaria un 1, de lo contrario un 0.
Lo malo como son funciones no documentadas, están no pueden ser soportadas en futuros releases de SQL server.
Si quieres guardar la información en una tabla de lo que genera pwdencryp, puedes utilizar un campo tipo varbinary(255).
Ejemplo:
select pwdencrypt('password')
select pwdcompare('password', 0x01004816A32F93C56C37E
25B074BEA94254AE005093173
984A4947EEA0DA47328628D47
AC4737B331292CCB54352)
En el blog Alexander Gladchenko de muestra como los valores arrojados de SQL Server 2000, son aceptables para SQL Server 2005.
Wednesday, March 07, 2007
Subscribe to:
Post Comments (Atom)
4 comments:
¡Orale! ¿Osea que esto funciona con SQL Server 2000 tambien?
Asi es, en el blog de Alexander Gladchenko tiene una entrada donde valida que aun siguen siendo compatibles con SQL 2005. Son funciones muy practicas(chidas), lastima que no sean documentadas. :(.
Teo
Yo solo necesito saber la longitud de cada password de un login, buscando encontré el pwdencrypt y pwdcompare pero no me han ayudado
NO quiero saber los passwords pero si su longitud
mi correo es master_gonzalo@hotmail.com
hola Teodulo, de casualidad sabes que algoritmo de encripción se utiliza en esta función?? Gracias!
Post a Comment