Explicacion de estas funciones

20/07/2004 - 18:57 por Pablo Fabian Savino | Informe spam
Hola gente,
necesito encryptar unas claves (tema mas que viejo) y dabdo
vueltas por la red encontre estas funciones
pwdencrypt
pwdcompare

puedo encryptar bien , pero al momento de comparar el
sstring con lo encriptado nunca me da el 1 o true, siempre me sale que 0 o
False, entonces como puedo protejer una clave?

me podrian dar un ejemplo que sea valido, a continuacion les
muestro que es lo que hago para aprender esta tecnica:

create proc encriptar
(
@clave char(20)
)
as
begin
declare
@w_crypt_pwd varbinary(40),
@in_password char(20)

Select @in_password =@clave

set @w_crypt_pwd = convert(varbinary(40),pwdencrypt(@in_password))
select @w_crypt_pwd --Veo la clave encryptada
select pwdcompare(@clave,@w_crypt_pwd) --Intento comparar lo
encriptado con el string pero nunca da bien a pesar que esta bien
end


saludos

Preguntas similare

Leer las respuestas

#1 Isaías
20/07/2004 - 19:41 | Informe spam
Escribeme a iislasg arroba hotmail punto com y te devuelvo
una funcion que encrypta y otra que lo desencrypta.

Saludos.
Respuesta Responder a este mensaje
#2 Javier Loria
20/07/2004 - 22:16 | Informe spam
Hola:
Y que solo Isaias puede leer :D
No te preocupes los secretos estan bien protegidos con el.
Una broma,

Javier Loria
Costa Rica
Se aprecia la inclusion de DDL (CREATE, INSERTS, etc.)
que pueda ser copiado y pegado al Query Analizer.
La version de SQL y Service Pack tambien ayuda.

Isaías escribio:
Escribeme a iislasg arroba hotmail punto com y te devuelvo
una funcion que encrypta y otra que lo desencrypta.

Saludos.
Respuesta Responder a este mensaje
#3 Isaías
21/07/2004 - 02:03 | Informe spam
juar, juar, juar, juarque buen chiste.

create function fn_Decrypt(@Password varchar(128))
returns varchar(128)
as
begin
declare @x int,
@DecryptedPassword varchar(128)

select @x=1,@DecryptedPassword=''

while @x<len(@Password)+1
begin
set
@DecryptedPassword=@DecryptedPassword+char(ascii(substring
(@Password,@x,1))-len(@Password))
set @x=@x+1
end

return @DecryptedPassword
end
create function fn_Encrypt(@Password varchar(128))
returns varchar(128)
as
begin
declare @x int,
@EncryptedPassword varchar(128)

select @x=1,@EncryptedPassword=''

while @x<len(@Password)+1
begin
set
@EncryptedPassword=@EncryptedPassword+char(ascii(substring
(@Password,@x,1))+len(@Password))
set @x=@x+1
end

return @EncryptedPassword
end
Respuesta Responder a este mensaje
#4 Javier Loria
21/07/2004 - 03:38 | Informe spam
Hola:
Mientras Pablo sepa que esas funciones no tienen una gran dificultad
para quebrarse y que un usuario mas o menos conocedor puede quebrarlas con
facilidad no es problema. Un ejemplo:
Imagina que el usuario Javier no conoce el procedimiento, quiere
averiguar las claves ajenas, tiene acceso de SELECT a la Tabla de Claves.
Como usuario tiene como clave: LORIA. Hace SELECT a la TABLA y ve en el
campo clave "QTWNF", lo cual no es obvio, pero como es travieso cambia su
clave 'AAA' y ve que el resultado es 'DDD', la cambia una vez mas a 'BBB', y
ve que en la BD se almacena como EEE.
Cuanto tiempo tarda en darse cuenta que la segunda y la tercera sumo 3 y
que 3 es el largo de la Clave?
Si agregas un poco de SAL es muchisimimo mas dificil averiguar claves.

Saludos,


Javier Loria
Costa Rica
Se aprecia la inclusion de DDL (CREATE, INSERTS, etc.)
que pueda ser copiado y pegado al Query Analizer.
La version de SQL y Service Pack tambien ayuda.
Isaías escribio:
juar, juar, juar, juarque buen chiste.

create function fn_Decrypt(@Password varchar(128))
returns varchar(128)
as
begin
declare @x int,
@DecryptedPassword varchar(128)

select @x=1,@DecryptedPassword=''

while @x<len(@Password)+1
begin
set
@DecryptedPassword=@DecryptedPassword+char(ascii(substring
(@Password,@x,1))-len(@Password))
set @x=@x+1
end

return @DecryptedPassword
end
create function fn_Encrypt(@Password varchar(128))
returns varchar(128)
as
begin
declare @x int,
@EncryptedPassword varchar(128)

select @x=1,@EncryptedPassword=''

while @x<len(@Password)+1
begin
set
@EncryptedPassword=@EncryptedPassword+char(ascii(substring
(@Password,@x,1))+len(@Password))
set @x=@x+1
end

return @EncryptedPassword
end
Respuesta Responder a este mensaje
#5 Isaías
21/07/2004 - 04:17 | Informe spam
Hola Javier

Si tienes mucha razon, lo que pasa es que los compañeros
que tengo (Que usan SQL) no son tan "traviesos" como
comentas, mas bien, son lentos para investigar.

Por ser tan SIMPLES, no queria postearlas.

Pero acepto todo tipo de comentarios para mejorarlas.

Saludos.
Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaSiguiente Respuesta Tengo una respuesta
Search Busqueda sugerida