Encriptar Campo

04/10/2004 - 16:24 por SRenau | Informe spam
Hola,

Desearia poder encriptar un campo como podria ser el DNI
del personal paara poder recuperarlo más tarde.

¿Que opciones me proponeis?

Gracias.

Preguntas similare

Leer las respuestas

#1 Isaías
04/10/2004 - 17:08 | Informe spam
Si cuenta con version SQL2000, esto con seguridad le
ayudara:

CREATE VIEW Letras(Caracter)
AS
SELECT CHAR(RAND()*77+23)


CREATE FUNCTION fn_Encrypt(@Password varchar(128))
RETURNS VARCHAR(128)
WITH ENCRYPTION
AS
BEGIN
DECLARE @x INT,
@EncryptedPassword VARCHAR(128)
SELECT @x=1, @EncryptedPassword=''
WHILE @x<len(@Password)+1
BEGIN
dinamico. Mejor seria 128 - @x?
SET @EncryptedPassword=@EncryptedPassword+CHAR(ascii
(substring(@Password,@x,1))+@x)
SET @EncryptedPassword=@EncryptedPassword+(SELECT
Caracter FROM Letras)
SET @x=@x+1
END
RETURN @EncryptedPassword
END

CREATE FUNCTION fn_Decrypt(@Password VARCHAR(128))
RETURNS VARCHAR(128)
WITH ENCRYPTION
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))-(@x+1)/2)
SET @x=@x+2
END
RETURN @DecryptedPassword
END


SELECT dbo.fn_Encrypt('superman')
-
t#wLsi.w,shKvK

(1 row(s) affected)

SELECT dbo.fn_Decrypt('t#wLsi.w,shKvK')

superman

(1 row(s) affected)
Respuesta Responder a este mensaje
#2 MAXI
05/10/2004 - 00:56 | Informe spam
Hola, yo siempre aconsejo que esto se haga desde la aplicacion, porque las
funciones no documentadas de Sql para dicha tarea son realmente muy malas!!






Maxi

Buenos Aires - Argentina
Desarrollador .NET 3 Estrellas
Microsoft User Group (MUG)
Mail: Maxi_accotto[arroba]speedy.com.ar

Msn Messager:

"SRenau" escribió en el mensaje
news:2af901c4aa1d$d7249950$
Hola,

Desearia poder encriptar un campo como podria ser el DNI
del personal paara poder recuperarlo más tarde.

¿Que opciones me proponeis?

Gracias.
Respuesta Responder a este mensaje
#3 Yan Carlos
06/10/2004 - 15:59 | Informe spam
Porque me sale al volver a abrir la funcion esto :
/****** Encrypted object is not transferable, and script can not be
generated. ******/

"Isaías" escribió en el mensaje
news:2b6501c4aa24$01bc9fe0$
Si cuenta con version SQL2000, esto con seguridad le
ayudara:

CREATE VIEW Letras(Caracter)
AS
SELECT CHAR(RAND()*77+23)


CREATE FUNCTION fn_Encrypt(@Password varchar(128))
RETURNS VARCHAR(128)
WITH ENCRYPTION
AS
BEGIN
DECLARE @x INT,
@EncryptedPassword VARCHAR(128)
SELECT @x=1, @EncryptedPassword=''
WHILE @x<len(@Password)+1
BEGIN
dinamico. Mejor seria 128 - @x?
SET @EncryptedPassword=@EncryptedPassword+CHAR(ascii
(substring(@Password,@x,1))+@x)
SET @EncryptedPassword=@EncryptedPassword+(SELECT
Caracter FROM Letras)
SET @x=@x+1
END
RETURN @EncryptedPassword
END

CREATE FUNCTION fn_Decrypt(@Password VARCHAR(128))
RETURNS VARCHAR(128)
WITH ENCRYPTION
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))-(@x+1)/2)
SET @x=@x+2
END
RETURN @DecryptedPassword
END


SELECT dbo.fn_Encrypt('superman')
-
t#wLsi.w,shKvK

(1 row(s) affected)

SELECT dbo.fn_Decrypt('t#wLsi.w,shKvK')

superman

(1 row(s) affected)
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida