DECRYPTBYPASSPHRASE (Transact-SQL)
Odszyfrowuje dane, które zostały zaszyfrowane przy użyciu hasła.
DecryptByPassPhrase ( { 'passphrase' | @passphrase }
, { 'ciphertext' | @ciphertext }
[ , { add_authenticator | @add_authenticator }
, { authenticator | @authenticator } ] )
Argumenty
passphrase
Czy hasło, które ma zostać użyta do wygenerowania klucz do odszyfrowywania.@ hasło
Jest zmienną typu nvarchar, char, varchar, lub nchar zawiera hasło, które ma zostać użyta do wygenerowania klucz do odszyfrowywania.'ciphertext'
Czy szyfrowany ma zostać odszyfrowane.@ szyfrowany
Jest zmienną typu varbinary zawierającej szyfrowany. Maksymalny rozmiar wynosi 8000 bajtów.add_authenticator
Wskazuje, czy wystawca uwierzytelnienia został zaszyfrowany wraz z zwykły tekst.Jest 1, jeśli użyto wystawca uwierzytelnienia.int.@ add_authenticator
Wskazuje, czy wystawca uwierzytelnienia został zaszyfrowany wraz z zwykły tekst.Jest 1, jeśli użyto wystawca uwierzytelnienia.int.authenticator
Jest to wystawca uwierzytelnienia.sysname.@ wystawca uwierzytelnienia
Czy zmienna, która zawiera dane, z którego ma pochodzić wystawca uwierzytelnienia.
Zwracane typy
varbinary Maksymalny rozmiar 8000 bajtów.
Remarks
Uprawnienia nie są wymagane do wykonywania tej funkcja.
Zwraca wartość NULL, jeśli jest używane są nieprawidłowe informacje hasła lub wystawca uwierzytelnienia.
Hasło jest używany do generowania klucz odszyfrowywania, które nie zostaną utrwalone.
Jeśli wystawca uwierzytelnienia został dołączony, gdy został zaszyfrowany szyfrowany, uwierzytelniającym należy podać w odszyfrowywania czas.Jeśli wartość wystawca uwierzytelnienia, pod warunkiem że w czasie odszyfrowywanie nie odpowiada wartości wystawca uwierzytelnienia, zaszyfrowane przy użyciu danych, odszyfrowywanie nie powiedzie się.
Przykłady
W poniższym przykładzie odszyfrowuje zaktualizowane w rekordzie EncryptByPassPhrase.
USE AdventureWorks;
-- Get the pass phrase from the user.
DECLARE @PassphraseEnteredByUser nvarchar(128);
SET @PassphraseEnteredByUser
= 'A little learning is a dangerous thing!';
-- Decrypt the encrypted record.
SELECT CardNumber, CardNumber_EncryptedbyPassphrase
AS 'Encrypted card number', CONVERT(nvarchar,
DecryptByPassphrase(@PassphraseEnteredByUser, CardNumber_EncryptedbyPassphrase, 1
, CONVERT(varbinary, CreditCardID)))
AS 'Decrypted card number' FROM Sales.CreditCard
WHERE CreditCardID = '3681';
GO
See Also