Bases de Datos - Encriptar Base de Datos en SQL Server 2000

   
Vista:

Encriptar Base de Datos en SQL Server 2000

Publicado por Humberto (4 intervenciones) el 21/11/2007 17:48:40
Hola amigos de este foro bueno otra vez necesitando de su ayuda es urgente quisiera saber como empriptar el campo Password(Contraseña), de mi tabla usuario que esta hecha en sql server 2000, haber me explico mejor:
tengo mi tabla usuario el cual tiene un campo contraseña en el cual no quisiera que se vea la contraseña en la en la tabla del usuario de la base de datos.
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:Encriptar Base de Datos en SQL Server 2000

Publicado por weirdmix (10 intervenciones) el 21/11/2007 20:04:29
como tal creo q no existe un tipo de campo o alguna opcion de encriptacion dentro de sql server 2000. sin embargo lo puedes lograr transformando tu la cadena del password con algoritmos de encriptacion. Existen algunas "librerias" o codigos ya hechos como por ejemplo el MD5, este lo puedes obtener aqui:
http://www.frez.co.uk/freecode.htm

saludos
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

RE:Encriptar Base de Datos en SQL Server 2000

Publicado por largo (2 intervenciones) el 26/11/2007 06:55:34
gracias, hace tiempo que quería probar algo así
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

RE:Encriptar Base de Datos en SQL Server 2000

Publicado por Marcos S. Madé S. (1 intervención) el 16/07/2008 16:15:24
Como puedo encriptar base de datos en sql server 2000.

Gracias
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

RE:Encriptar Base de Datos en SQL Server 2000

Publicado por Gerardo Cáseres Hernández (2 intervenciones) el 09/01/2009 15:44:32
--Puedes hacerlo usando estas dos funciones que te anexo, las hice para
--campos de tipo char o varchar.

if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[EncriptarHilera]') and xtype in (N'FN', N'IF', N'TF'))
drop function [dbo].[EncriptarHilera]
GO

create function EncriptarHilera ( @ValorAEncriptar varchar(20) , @LLave varchar(20) )
returns varchar(20)
as
begin

declare @I as Int
declare @c as int
declare @Resultado as varchar(20)


set @LLave = upper(@llave)


set @I=1
while @I <= Len(@ValorAEncriptar)
begin
set @c = ASCII(substring(@ValorAEncriptar, @I, 1))
set @c = @c + ASCII(substring(@LLave, (@I % Len(@LLave)) + 1, 1))
if @Resultado is null
begin
set @Resultado = CONVERT(varchar(1), Char(@c))

end
else begin
select @Resultado = rtrim(CAST(@Resultado AS varchar(20))) + CAST(Char(@c) AS varchar(1))

end
set @I=@I+1
end

RETURN @Resultado
End


if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[DesEncriptarHilera]') and xtype in (N'FN', N'IF', N'TF'))
drop function [dbo].[DesEncriptarHilera]
GO


create function DesEncriptarHilera ( @ValorADesEncriptar varchar(20) , @LLave varchar(20) )
returns varchar(20)
as
begin

declare @I as Int
declare @c as int
declare @Resultado as varchar(60)


set @LLave = upper(@llave)


set @I=1
while @I <= Len(@ValorADesEncriptar)
begin
set @c = ASCII(substring(@ValorADesEncriptar, @I, 1))
set @c = @c - ASCII(substring(@LLave, (@I % Len(@LLave)) + 1, 1))
if @Resultado is null
begin
set @Resultado = CONVERT(varchar(1), Char(@c))

end
else begin
select @Resultado = rtrim(CAST(@Resultado AS varchar(60))) + CAST(Char(@c) AS varchar(1))

end
set @I=@I+1
end

RETURN @Resultado
End

--copia esto a tu Sql Query Analizer y ejecutalo sobre la base de datos que
--deseas encriptar.

--La forma de utilizar las funciones es la siguiente:

-- Este es el script de la tabla en donde realice las pruebas por si desean probar las sentencias de como
-- se utiliza las funciones de Encriptar y Desencriptar

if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[Encriptar]') and OBJECTPROPERTY(id, N'IsUserTable') = 1)
drop table [dbo].[Encriptar]
GO

CREATE TABLE [dbo].[Encriptar] (
[IdRegistro] [int] IDENTITY (1, 1) NOT NULL ,
[Tarjeta] [varchar] (19) NULL
) ON [PRIMARY]
GO

ALTER TABLE [dbo].[Encriptar] ADD
CONSTRAINT [PK_Encriptar] PRIMARY KEY CLUSTERED
(
[IdRegistro]
) ON [PRIMARY]
GO
---------------------------------------------------------------------------------------------------------------
---------------------------------------------------------------------------------------------------------------

-- Las funcion para encriptar se llama EncriptarHilera y para desencriptar se llama DesEncriptarHilera
-- Estas dos funciones reciben 2 parametros, El campo a encriptar que debe ser un char o varchar y
-- la llave de encriptacion, que puede ser de cualquier tamano

-- La forma de invocarlar es el siguiente
--
-- NombreBaseDatos.dbo.EncriptarHilera
-- NombreBaseDatos.dbo.DesEncriptarHilera

-- En estos ejemplos de uso de las funciones la base de datos se llama "avances" de forma que deben sustituirla
-- por el correspondiente nombre de las bases de datos en que correran, Ademas es necesario que se hayan corrido
-- los script "Funcion de Encriptar.sql" y "Funcion de DesEncriptar.sql" en la mismas.

-- !!! Es importante tener el cuidado de que no se ejecute el proceso de encritacion mas de una vez !!!
---------------------------------------------------------------------------------------------------------------
-- Para realizar la encriptacion se realizaria de la forma siguiente, utilizando la funcion EncriptarHilera
---------------------------------------------------------------------------------------------------------------

insert into Encriptar values (avances.dbo.EncriptarHilera ('1111-2222-1122-8000','Valor de la LLave'))

---------------------------------------------------------------------------------------------------------------
-- Para probar que se encripto correctamente usamos este select
---------------------------------------------------------------------------------------------------------------

Select * From Encriptar

---------------------------------------------------------------------------------------------------------------
-- Para ver los datos desencriptados usamos la funcion DesEncriptarHilera
---------------------------------------------------------------------------------------------------------------
Select avances.dbo.DesEncriptarHilera(tarjeta,'Valor de la LLave') from encriptar

---------------------------------------------------------------------------------------------------------------
-- Para hacer una busqueda por un campo encriptado esta seria la forma
---------------------------------------------------------------------------------------------------------------

Declare @TarjetaABuscar as varchar(19)
Select @TarjetaABuscar = '1111-2222-1122-8000'

Select idRegistro, avances.dbo.DesEncriptarHilera(tarjeta,'Valor de la LLave')
From encriptar
Where avances.dbo.DesEncriptarHilera(tarjeta,'Valor de la LLave')=@TarjetaABuscar

---------------------------------------------------------------------------------------------------------------
-- Para realizar una encriptacion completa de la tabla utilzando Update
---------------------------------------------------------------------------------------------------------------

Update encriptar
Set tarjeta = avances.dbo.encriptarhilera(tarjeta,'Valor de la LLave')

---------------------------------------------------------------------------------------------------------------
-- Para realizar una desencriptacion completa de la tabla utilzando Update
---------------------------------------------------------------------------------------------------------------

Update encriptar
Set tarjeta = avances.dbo.DesEncriptarHilera(tarjeta,'Valor de la LLave')

espero te sirva, cualquier consulta con mucho gusto
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

Como Encriptar Base de Datos en SQL Server 2000

Publicado por Gerardo Caseres Hernandez (2 intervenciones) el 09/01/2009 15:58:19
--Puedes hacerlo usando estas dos funciones que te anexo, las hice para
--campos de tipo char o varchar.

if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[EncriptarHilera]') and xtype in (N'FN', N'IF', N'TF'))
drop function [dbo].[EncriptarHilera]
GO

create function EncriptarHilera ( @ValorAEncriptar varchar(20) , @LLave varchar(20) )
returns varchar(20)
as
begin

declare @I as Int
declare @c as int
declare @Resultado as varchar(20)

set @LLave = upper(@llave)

set @I=1
while @I <= Len(@ValorAEncriptar)
begin
set @c = ASCII(substring(@ValorAEncriptar, @I, 1))
set @c = @c + ASCII(substring(@LLave, (@I % Len(@LLave)) + 1, 1))
if @Resultado is null
begin
set @Resultado = CONVERT(varchar(1), Char(@c))

end
else begin
select @Resultado = rtrim(CAST(@Resultado AS varchar(20))) + CAST(Char(@c) AS varchar(1))

end
set @I=@I+1
end

RETURN @Resultado
End

if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[DesEncriptarHilera]') and xtype in (N'FN', N'IF', N'TF'))
drop function [dbo].[DesEncriptarHilera]
GO

create function DesEncriptarHilera ( @ValorADesEncriptar varchar(20) , @LLave varchar(20) )
returns varchar(20)
as
begin

declare @I as Int
declare @c as int
declare @Resultado as varchar(60)

set @LLave = upper(@llave)

set @I=1
while @I <= Len(@ValorADesEncriptar)
begin
set @c = ASCII(substring(@ValorADesEncriptar, @I, 1))
set @c = @c - ASCII(substring(@LLave, (@I % Len(@LLave)) + 1, 1))
if @Resultado is null
begin
set @Resultado = CONVERT(varchar(1), Char(@c))

end
else begin
select @Resultado = rtrim(CAST(@Resultado AS varchar(60))) + CAST(Char(@c) AS varchar(1))

end
set @I=@I+1
end

RETURN @Resultado
End

--copia esto a tu Sql Query Analizer y ejecutalo sobre la base de datos que
--deseas encriptar.

--La forma de utilizar las funciones es la siguiente:

-- Este es el script de la tabla en donde realice las pruebas por si desean probar las sentencias de como
-- se utiliza las funciones de Encriptar y Desencriptar

if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[Encriptar]') and OBJECTPROPERTY(id, N'IsUserTable') = 1)
drop table [dbo].[Encriptar]
GO

CREATE TABLE [dbo].[Encriptar] (
[IdRegistro] [int] IDENTITY (1, 1) NOT NULL ,
[Tarjeta] [varchar] (19) NULL
) ON [PRIMARY]
GO

ALTER TABLE [dbo].[Encriptar] ADD
CONSTRAINT [PK_Encriptar] PRIMARY KEY CLUSTERED
(
[IdRegistro]
) ON [PRIMARY]
GO
---------------------------------------------------------------------------------------------------------------
---------------------------------------------------------------------------------------------------------------

-- Las funcion para encriptar se llama EncriptarHilera y para desencriptar se llama DesEncriptarHilera
-- Estas dos funciones reciben 2 parametros, El campo a encriptar que debe ser un char o varchar y
-- la llave de encriptacion, que puede ser de cualquier tamano

-- La forma de invocarlar es el siguiente
--
-- NombreBaseDatos.dbo.EncriptarHilera
-- NombreBaseDatos.dbo.DesEncriptarHilera

-- En estos ejemplos de uso de las funciones la base de datos se llama "avances" de forma que deben sustituirla
-- por el correspondiente nombre de las bases de datos en que correran, Ademas es necesario que se hayan corrido
-- los script "Funcion de Encriptar.sql" y "Funcion de DesEncriptar.sql" en la mismas.

-- !!! Es importante tener el cuidado de que no se ejecute el proceso de encritacion mas de una vez !!!
---------------------------------------------------------------------------------------------------------------
-- Para realizar la encriptacion se realizaria de la forma siguiente, utilizando la funcion EncriptarHilera
---------------------------------------------------------------------------------------------------------------

insert into Encriptar values (avances.dbo.EncriptarHilera ('1111-2222-1122-8000','Valor de la LLave'))

---------------------------------------------------------------------------------------------------------------
-- Para probar que se encripto correctamente usamos este select
---------------------------------------------------------------------------------------------------------------

Select * From Encriptar

---------------------------------------------------------------------------------------------------------------
-- Para ver los datos desencriptados usamos la funcion DesEncriptarHilera
---------------------------------------------------------------------------------------------------------------
Select avances.dbo.DesEncriptarHilera(tarjeta,'Valor de la LLave') from encriptar

---------------------------------------------------------------------------------------------------------------
-- Para hacer una busqueda por un campo encriptado esta seria la forma
---------------------------------------------------------------------------------------------------------------

Declare @TarjetaABuscar as varchar(19)
Select @TarjetaABuscar = '1111-2222-1122-8000'

Select idRegistro, avances.dbo.DesEncriptarHilera(tarjeta,'Valor de la LLave')
From encriptar
Where avances.dbo.DesEncriptarHilera(tarjeta,'Valor de la LLave')=@TarjetaABuscar

---------------------------------------------------------------------------------------------------------------
-- Para realizar una encriptacion completa de la tabla utilzando Update
---------------------------------------------------------------------------------------------------------------

Update encriptar
Set tarjeta = avances.dbo.encriptarhilera(tarjeta,'Valor de la LLave')

---------------------------------------------------------------------------------------------------------------
-- Para realizar una desencriptacion completa de la tabla utilzando Update
---------------------------------------------------------------------------------------------------------------

Update encriptar
Set tarjeta = avances.dbo.DesEncriptarHilera(tarjeta,'Valor de la LLave')

espero te sirva, cualquier consulta con mucho gusto
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

RE:Encriptar Base de Datos en SQL Server 2000

Publicado por aaron guerrero castañeda (2 intervenciones) el 23/06/2008 18:00:40
espero te sirva de algo:

select pwdencrypt(campo_name | dato) from table_name
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