hvordan man kan kryptere kolonner i SQL Server 2008

Indlæg af Alice Christensen     opdateret: 2011-07-03

SQL Server 2008 er en relationel model databaseserver produceret af Microsoft . Det tilbyder disse funktioner således, at data, der skal selvjusterende , selvorganiserende og selv-opretholdelse . Det giver også nær nul nedetid . Det bruger den nye FILESTREAM datatype , som kan bruges til at opdrage en fil gemt i sin database . Kryptering bruger algoritmer til at beskytte data, så kun bestemte brugere kan læse den . SQL Server 2008, kan bruges til at holde data, der anvendes i transit via net eller oplysninger på lager sikre. Kryptering kolonner i SQL Server 2008 kræver et par trin for at konfigurere
1
Åbn en terminal i din SQL- server og indtast denne kommando :


BRUG AdventureWorks2008R2 ;
GO

Hvis der ikke er hovednøglen , skal du oprette en nu .
HVIS IKKE EXISTS
( SELECT * FROM sys. symmetric_keys WHERE symmetric_key_id=101 )
CREATE hovednøglen kryptering ved

PASSWORD=�hxJKL969 # ghf0 % 94467GRkjg5k3fd117r $ $ # 1946kcj $ n44nhdlj '
GO

CREATE CERTIFIKAT HumanResources037

med emne=' Employee Social Security numre « ;
GO

CREATE symmetrisk nøgle SSN_Key_01
MED ALGORITMEN=AES_256
kryptering ved CERTIFIKAT HumanResources037 ;
GO

USE [ AdventureWorks2008R2 ]

GO

Oprette en kolonne til at gemme krypterede data .
ALTER TABLE HumanResources. Employee
ADD EncryptedNationalIDNumber varbinary (128 ) ;
GO


Åbn symmetriske nøgle med til at kryptere data
OPEN symmetrisk nøgle SSN_Key_01
dekryptering af certifikat HumanResources037 .


Kryptér værdien i kolonnen NationalIDNumber med symmetriske
nøgle SSN_Key_01 . Gemme resultatet i kolonne EncryptedNationalIDNumber
UPDATE HumanResources. Employee
SET EncryptedNationalIDNumber=EncryptByKey ( Key_GUID ( » SSN_Key_01 « ) , NationalIDNumber ) .
GO

Kontroller kryptering . Først skal du åbne symmetriske nøgle med til at dekryptere data
OPEN symmetrisk nøgle SSN_Key_01
dekryptering af certifikat HumanResources037 .
GO


Nu en liste over de oprindelige id , den krypterede id , og dekrypteret kodeteksten . Hvis det dekryptering fungeret, vil den oprindelige og den afkodede ID kampen .
SELECT NationalIDNumber , EncryptedNationalIDNumber
AS ' krypteret id-nummer « ,
KONVERTER ( nvarchar , DecryptByKey ( EncryptedNationalIDNumber ) )
AS ' Decrypted id-nummer '
FRA HumanResources . . Medarbejder ;
GO
2
Føj en godkenderen til din kryptering med denne kommando :


BRUG AdventureWorks2008R2 ;
Hvis der ikke er hovednøglen , skal du oprette en nu .
HVIS IKKE EXISTS
( SELECT * FROM sys. symmetric_keys WHERE symmetric_key_id=101 )
CREATE hovednøglen kryptering ved

PASSWORD=�hxJKL95QYV4369 # ghf0 % lekjg5k3fd117r $ $ # 1946kcj $ n44ncjhdlj '
GO

CREATE CERTIFIKAT Sales3Cbr />
med emne=' Kunde Kreditkort Numbers ' ;
GO

CREATE symmetrisk nøgle CreditCards_Key11
MED ALGORITMEN=AES_256
kryptering ved CERTIFIKAT Sales3B
GO

Oprette en kolonne til at gemme krypterede data .
ALTER TABLE Sales. CreditCard
ADD CardNumber_Encrypted varbinary (128 ) ;
GO


Åbn symmetriske nøgle med til at kryptere dataene .
OPEN symmetrisk nøgle CreditCards_Key11
dekryptering af certifikat Sales3B


Kryptér værdien i kolonnen CardNumber bruge symmetrisk nøgle CreditCards_Key11 . Gemme resultatet i kolonne CardNumber_Encrypted .
UPDATE Sales. CreditCard
SET CardNumber_Encrypted=EncryptByKey ( Key_GUID ( » CreditCards_Key11 « ) , CardNumber , 1 , HashBytes ( » SHA1 « , konvertere ( varbinary , CreditCardID )) ) ;
GO

Kontroller kryptering . Først skal du åbne symmetriske nøgle med til at dekryptere data .

OPEN symmetrisk nøgle CreditCards_Key11
dekryptering af certifikat Sales3B

GO

Nu en liste over de oprindelige kortnummer , den krypterede kortnummer , og den afkodede kodeteksten . Hvis det dekryptering fungeret, vil det oprindelige antal matche afkodet nummeret .


SELECT CardNumber , CardNumber_Encrypted
AS ' Krypteret kortnummer « , konvertere ( nvarchar ,
DecryptByKey ( CardNumber_Encrypted , 1 ,
HashBytes ( » SHA1 « , konvertere ( varbinary , CreditCardID ))))

AS ' Decrypted kortnummer « fra salg. Kreditkort .
GO
3
Kontroller, at du har indtastet det korrekte kommandoer og bekræfte dine krypterede data ved at forsøge at få adgang til det uden godkendelse
. .


Previous:hvordan man kan overføre data til MySQL serveren Next:sql søgning tutorial



 

Kommentarer

Code:
change