20. oktober 2003 - 17:12Der er
5 kommentarer og 1 løsning
Scramble/encrypt et varchar-felt ?
Jeg har behov for at scramble/kryptere et varchar-felt, så jeg kan sende et datasæt til en hotline-funktion.
Desværre er feltet et sekundært nøglefelt, så omformningen skal omsætte to ens nøgler til samme scramblede værdi, og to oprindeligt forskellige nøgler skal vedblive med at være forskellige efter omformningen. Altså en eksakt omformning, ikke en tilfældig.
Jeg kan umiddelbart ikke finde nogen smart indbygget funktion a la MD5 eller DES i Books Online til dette formål, så jeg er lidt på bar bund.
Det er alt-andet-lige ikke relevant at pudse en ekstern funktion på sagen, da det drejer sig om 3 tabeller med et par millioner records hver.
Og datamængden skal også helst bibeholdes, da det er vigtigt at hotline-funktionen oplever de samme performanceproblemer som jeg gør :-)
Denne side indeholder artikler med forskellige perspektiver på Identity & Access Management i private og offentlige organisationer. Artiklerne behandler aktuelle IAM-emner og leveres af producenter, rådgivere og implementeringspartnere.
En nem måde som giver en rimelig sikkerhed er, at benytte en XOR mekanisme med et seed som et timestamp.
Ideen er kort og godt, at du konverterer din varchar til en tilsvarende varbinary, laver et seed udfra et timestamp (f.eks. værdien i @@CPU_IDLE) og udfra dette genererer en XOR værdi for hver 4 bytes du skal have scramplet. Brug forskellige matematiske funktioner til hver XOR værdi.
Du XOR'er så din varbinary, og indsætter dit seed et kendt sted i strengen.
For de-scrampling skal du så blot trække seed'ed ud af strengen, generere de samme XOR værdier igen, og XOR's de øvrige data. Vupti; Din streng er tilbage.
Du kan så pakke din scrampler og de-scrampler ind i et par funktioner.
Minuset er selvfølgelig, at "krypteringen" ikke er specielt stærk, men man kan nu alligevel få nogle muntre timer til at gå før strengen er cracket - og performance er heller ikke fantastisk god ved lange strenge; Jeg vil nok ikke anbefale at bruge den på datamængder over 20-30 tegn.
Lukker spørgsmålet. Point til trer, der skal have tak for det gode forslag, som jeg dog alligevel ikke fik brug for i denne omgang. Husker det dog til senere hvis det bliver aktuelt.
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.