PRIMEIRAMENTE VAMOS CRIAR A PROCEDURE ENCRYPTADA
CREATE PROCEDURE PROCENCRYPTADA @NUMERO1 INT, @NUMERO2 INT
WITH ENCRYPTION AS
DECLARE @RESULT INT
BEGIN
SELECT @RESULT = @NUMERO1 + @NUMERO2
END
AGORA VAMOS TENTAR VERIFICAR O CODIGO DA PROCEDURE
SP_HELPTEXT PROCENCRYPTADA
AGORA VAMOS CRIAR A PROCEDURE PARA DESENCRIPTAR AS CRIPTOGRAFADAS
CREATE PROCEDURE DECRYPTPROC (@OBJETO VARCHAR(50))
AS
DECLARE @A NVARCHAR(4000),
@B NVARCHAR(4000),
@C NVARCHAR(4000),
@D NVARCHAR(4000),
@I INT,
@T BIGINT
SET @A=(SELECT CTEXT FROM SYSCOMMENTS WHERE ID = OBJECT_ID(@OBJETO))
SET @B='ALTER PROCEDURE '
+ @OBJETO
+' WITH ENCRYPTION AS '
+REPLICATE('-', 4000-62)
EXECUTE (@B)
SET @C=(SELECT CTEXT FROM SYSCOMMENTS WHERE ID = OBJECT_ID(@OBJETO))
SET @B='CREATE PROCEDURE '
+ @OBJETO
+' WITH ENCRYPTION AS '
+REPLICATE('-', 4000-62)
SET @I=1
SET @D = REPLICATE(N'A', (DATALENGTH(@A) / 2))
WHILE @I<=DATALENGTH(@A)/2
BEGIN
SET @D = STUFF(@D, @I, 1,
NCHAR(UNICODE(SUBSTRING(@A, @I, 1)) ^
(UNICODE(SUBSTRING(@B, @I, 1)) ^
UNICODE(SUBSTRING(@C, @I, 1)))))
SET @I=@I+1
END
EXECUTE ('DROP PROCEDURE '+ @OBJETO)
IF CHARINDEX('WITH ENCRYPTION',LOWER(@D))>0
SET @D=REPLACE(LOWER(@D),'WITH ENCRYPTION', '')
EXECUTE( @D)
GO
AGORA VAMOS DESCRIPTAR A NOSSA PROCEDURE ENCRIPTADA COM A O ALGORITMO QUE CRIAMOS
DECRYPTPROC 'PROCENCRYPTADA'
AGORA PODEMOS VER O CODIGO DA PROCEDURE
SP_HELPTEXT PROCENCRYPTADA
Nenhum comentário:
Postar um comentário