Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

enkripccija polja u tabeli

[es] :: MS SQL :: enkripccija polja u tabeli

[ Pregleda: 1860 | Odgovora: 1 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

erkan
Sarajevo

Član broj: 12339
Poruke: 267
*.team.ba.

ICQ: 238530669


Profil

icon enkripccija polja u tabeli25.10.2006. u 11:31 - pre 213 meseci
Pozdrav svima,

ne radim bas puno sa bazama ali mi se ukazala potreba
za prebacivanjem podataka iz jedne tabele u drugu tabelu na posebnoj bazi
s tim sto bi bilo dobro da enkriptujem podatke u toj drugoj tabeli.
Postoji li nesto vec na MS SQL serveru da mogu kriptovati polja pomocu nekog
kljuca za enkripciju ili slicno nesto?!

ah, da radi se o MS SQL Serveru 2000
Samo se budala saplice na kamen iza sebe.
 
Odgovor na temu

erkan
Sarajevo

Član broj: 12339
Poruke: 267
*.team.ba.

ICQ: 238530669


Profil

icon Re: enkripccija polja u tabeli27.10.2006. u 14:44 - pre 213 meseci
evo da odgovorim. Malo sam cackao i nasao neki primjer na net-u, malo ga izmjenio
da koristi string kao kljuc enkripcije i radi:

PS. nije high level ali je za moje potrebe sasvim dovoljan. Dvije funkcije jedna za nekripciju i druga za dekripciju.
Radi prilicno dobro. I jos nesto, funkcije su takodje kriptovane i ne vidi se tijelo funkcije iz recimo query analyzer-aa

Code:


CREATE FUNCTION [erk].[EncryptString] ( @vchClearString VARCHAR(100), @encryptKey varchar(30))
RETURNS NVARCHAR(100) WITH ENCRYPTION AS
BEGIN
      
    DECLARE @vchEncryptedString NVARCHAR(100)
    DECLARE @Idx INT
    DECLARE @encryptLen INT
    DECLARE @encryptIndex INT

    SET @encryptIndex = 0;
    SET @encryptLen = LEN(@encryptKey)
    SET @Idx = 1
    SET @vchEncryptedString = ''
    
    
    WHILE @Idx <= LEN(@vchClearString)
    BEGIN
        IF(@encryptIndex = @encryptLen)
    BEGIN
            SET @encryptIndex = 0;
        END
         
        SET @vchEncryptedString = @vchEncryptedString + 
                                NCHAR(ASCII(SUBSTRING(@vchClearString, @Idx, 1)) +
                                ASCII(SUBSTRING(@encryptKey, @encryptLen-@encryptIndex,1)) + @Idx - 1)
        SET @Idx = @Idx + 1
        SET @encryptIndex = @encryptIndex + 1;
    END
    
    RETURN @vchEncryptedString

END
GO


CREATE FUNCTION [erk].[DecryptString] ( @vchEncryptedString NVARCHAR(100), @encryptKey varchar(30))
RETURNS VARCHAR(100) WITH ENCRYPTION AS
BEGIN

DECLARE @vchClearString VARCHAR(100)
DECLARE @Idx INT
DECLARE @encryptLen INT
DECLARE @encryptIndex INT

SET @encryptIndex = 0;
SET @encryptLen = LEN(@encryptKey)
SET @Idx = 1
SET @vchClearString = ''

WHILE @Idx <= LEN(@vchEncryptedString)
BEGIN
    IF(@encryptIndex = @encryptLen)
    BEGIN
        SET @encryptIndex = 0;
    END
    SET @vchClearString = @vchClearString + 
                        CHAR(UNICODE(SUBSTRING(@vchEncryptedString, @Idx, 1)) - 
                        ASCII(SUBSTRING(@encryptKey, @encryptLen-@encryptIndex,1)) - @Idx + 1)
    SET @Idx = @Idx + 1
    SET @encryptIndex = @encryptIndex + 1;
END

RETURN @vchClearString

END
GO



Samo se budala saplice na kamen iza sebe.
 
Odgovor na temu

[es] :: MS SQL :: enkripccija polja u tabeli

[ Pregleda: 1860 | Odgovora: 1 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.