SQL Server - SE PUEDE HACER ESTO??

 
Vista:

SE PUEDE HACER ESTO??

Publicado por renegado (41 intervenciones) el 08/09/2005 21:55:24
saludos y una feliz tarde para todos, sera que se puede encriptar la (s) columnas de una tabla ???

y si se puede como se hace ??

att

rene
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:SE PUEDE HACER ESTO??

Publicado por Isaías (3308 intervenciones) el 14/09/2005 14:39:03
¿tienes SQL 2000?

-- Crear una Vista
-- CopyRight (Javier Loria 2004)
CREATE VIEW Letras(Caracter)
AS
SELECT CHAR(RAND()*77+23)

-- Funcion para ENCRYPTAR
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
-- Cambio En lugar del Len haces @x para que sea
dinamico. Mejor seria 128 - @x?
SET @EncryptedPassword=@EncryptedPassword+CHAR(ascii
(substring(@Password,@x,1))+@x)
-- Agrega SAL
SET @EncryptedPassword=@EncryptedPassword+(SELECT
Caracter FROM Letras)
SET @x=@x+1
END
RETURN @EncryptedPassword
END

-- Funcion para DESENCRYPTAR
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)
-- Ignora Caracter de por Medio.
SET @x=@x+2
END
RETURN @DecryptedPassword
END

-- Ejecucion de la funcion

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)
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar