Categorias

Criptografar Stored Procedures com SQL Server

Ao desenvolver stored procedures dentro de um banco de dados no SQL Server é possível criptografar o código delas para que ninguém mal intencionado altere e cause um estrago em sua aplicação.

Para criptografar a stored procedures basta adiciona ao final do CREATE PROCEDURE o comando WITH ENCRYPTION.

DICA: É muito importante que ao criptografar uma stored procedures, sempre se guarde em algum lugar o código original pois não será possível depois descriptografar a partir do banco de dados, e sempre que for preciso realizar atualizações poderá ser feito através do código original.

/* Criptografia de uma procedure utilizando o comando WITH ENCRYPTION */
CREATE PROCEDURE dbo.SP_TESTE_CRIPTOGRAFIA
    @TEXTO VARCHAR(1000)
WITH ENCRYPTION AS

SET NOCOUNT ON

    SELECT @TEXTO AS TEXTO

SET NOCOUNT OFF
GO

/* A mesma procedure, agora criptografada */
exec(decrypt(0x20D89BA23104EFBE7489F9BC31CB549650E286D1F2039290CB954016D65780C4F3B3E0772F3ADA09ABFA062544A92F95BC6CDCF4DF4E185229307F1F746AFB25F502DA81CEE83779A5EAEA41A128277F4F925C01928ED0261A727CF64C81BB913D7E7B4C7CF29D41257C1B068B65ACC51167AFF3D5362401CC1EFA614634B45E209F39CABDCFC4883AEF756B170EC07865D44C22B75038E628098EEFC546A36A3C5DAF6368D25F8D3F089085DB7A3222B479C1FD969A389CD46B991756FC9AC2337EB57D0657D378E509F6F0D4DE6034482C7566D07491DF0564040EE0D293570BCD362881E8C4737068D9275E8CBD32D758318CA66A504E0EEAAE16681F8ACFBF0D56269540109742204701B74B4860BCA06231370AE57F2D60ED9A3793745C018E47BFCF8BA3DC4E6EB0F4A09DC3EC08427F1AC7787B06A33FE49A243D0608E1DFD180857561473B40C3F484E2ECA69B1DAE45BB34E316D16446104CE16D799EA63A438B69A04273FCE533EEE47C25F2139482FB92C13E19B399BC0A4E4C8D6AD195B0CDC291E5E0DE89EA556041DDEAB259C1BBC127A73FA95D398B6C104C3F679718A075F5E80D4C46960AAC54AED520E167))
GO