Kaip užšifruoti slaptažodžius naudojant „EncryptByPassPhrase“?



Asimetrinis raktas generuojamas iš slaptafrazės. Tai gali būti varcharas, char, varcharas, dvejetainis, VARBINARY, arba NCHAR tipo kintamasis, kuriame yra slaptafrazė, iš kurios sukuriamas simetriškas raktas. Bet kokį kitą duomenų tipą, pvz., DATĄ, pirmiausia turite aiškiai konvertuoti į dvejetainę vertę, kad užšifruotumėte gimimo datą.

@cleartext:

An NVARCHAR , char , varcharas , dvejetainis , VARBINARY, arba NCHAR tipo kintamasis, kuriame yra paprastas tekstas. The maksimaliai dydis yra aštuoni tūkstančiai baitų .



Grąžinimo tipai:



VARBINARY su 8 000 baitų maksimalus dydis.

Įgyvendinimas:

CREATE TABLE dbo.encrypted_data ([Id] INT IDENTITY (1,1) PAGRINDINIS RAKTAS, [slaptažodis] VARBINARY (8000));

Lentelės, pavadintos „užšifruoti_duomenys“, kūrimas

ID vertė liks nešifruota, o slaptažodžio stulpelis yra tipo VARBINARY (8000) , kuris atitinka grąžinimo tipą ENCRYPTBYPASSPHRASE funkcija.



INSERT INTO dbo.encrypted_data ([password]) VALUES (ENCRYPTBYPASSPHRASE ('SQL Server 2017