DECRYPTBYPASSPHRASE (Transact-SQL)
Odszyfrowuje dane, które zostały zaszyfrowane przy użyciu hasła.
Składnia
DecryptByPassPhrase ( { 'passphrase' | @passphrase }
, { 'ciphertext' | @ciphertext }
[ , { add_authenticator | @add_authenticator }
, { authenticator | @authenticator } ] )
Argumenty
passphrase
To hasło, który zostanie użyty do wygenerowania klucz odszyfrowywania.@ hasło
Jest zmienną typu nvarchar, char, varchar, lub nchar zawiera hasło, które będą używane do generowania klucz odszyfrowywania.'ciphertext'
Odszyfrowanie, jest szyfrowany.@ dekodującym
Jest zmienną typu varbinary zawierający dekodującym.Maksymalny rozmiar jest 8000 bajtów.add_authenticator
Wskazuje, czy wystawca uwierzytelnienia został zaszyfrowany wraz ze zwykły tekst.Jest 1, jeśli użyto wystawca uwierzytelnienia .int.@ add_authenticator
Wskazuje, czy wystawca uwierzytelnienia został zaszyfrowany wraz ze zwykły tekst.Jest 1, jeśli użyto wystawca uwierzytelnienia .int.authenticator
Są to dane wystawca uwierzytelnienia .sysname.@wystawca uwierzytelnienia
Jest zmienna, która zawiera dane, z którego pochodzi wystawca uwierzytelnienia.
Zwracane typy
varbinaryMaksymalny rozmiar 8000 bajtów.
Uwagi
Uprawnienia nie są wymagane do wykonywania tej funkcja.
Zwraca wartość NULL, jeśli używane są nieprawidłowe informacje o hasło lub wystawca uwierzytelnienia .
Hasło jest używany do generowania kluczodszyfrowywania, które nie zostaną utrwalone.
Jeśli wystawca uwierzytelnienia został dołączony, gdy został zaszyfrowany szyfrowany, wystawca uwierzytelnienia muszą być zapewnione w odszyfrowywania czas.Podana wartość wystawca uwierzytelnienia w odszyfrowywania czas niezgodna wartość wystawca uwierzytelnienia zaszyfrowane przy użyciu danych odszyfrowywanie nie powiedzie się.
Przykłady
Poniższy przykład odszyfrowuje rekordu aktualizowane w EncryptByPassPhrase.
USE AdventureWorks2008R2;
-- 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