Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Berlaku untuk:SQL Server
Azure SQL Database
Azure SQL Managed Instance
Database SQL di Microsoft Fabric
Fungsi ini mendekripsi data yang awalnya dienkripsi dengan frasa sandi.
Sintaks
DecryptByPassPhrase ( { 'passphrase' | @passphrase }
, { 'ciphertext' | @ciphertext }
[ , { add_authenticator | @add_authenticator }
, { authenticator | @authenticator } ] )
Argumen
frase sandi
Frase sandi yang digunakan untuk menghasilkan kunci dekripsi.
@passphrase
Variabel jenis char, nchar, nvarchar, atau varchar yang berisi frasa sandi yang digunakan untuk menghasilkan kunci dekripsi.
'ciphertext'
String data yang dienkripsi dengan kunci.
ciphertext memiliki jenis data varbinary .
@ciphertext
Variabel jenis varbinary yang berisi data yang dienkripsi dengan kunci. Variabel @ciphertext memiliki ukuran maksimum 8.000 byte.
add_authenticator
Menunjukkan apakah proses enkripsi asli disertakan, dan dienkripsi, pengautentikasi bersama dengan teks biasa.
add_authenticator memiliki nilai 1 jika proses enkripsi menggunakan pengautentikasi.
add_authenticator memiliki jenis data int.
@add_authenticator
Variabel yang menunjukkan apakah proses enkripsi asli disertakan, dan dienkripsi, pengautentikasi bersama dengan teks biasa. Apakah @add_authenticator memiliki nilai 1 jika proses enkripsi menggunakan pengautentikasi.
@add_authenticator memiliki jenis data int.
Authenticator
Data yang digunakan sebagai dasar untuk pembuatan pengautentikasi.
authenticator memiliki jenis data sysname .
@authenticator
Variabel yang berisi data yang digunakan sebagai dasar untuk pembuatan pengautentikasi.
@authenticator memiliki jenis data sysname.
Jenis Kembalian
varbinary, dengan ukuran maksimum 8.000 byte.
Keterangan
DECRYPTBYPASSPHRASE tidak memerlukan izin untuk eksekusinya.
DECRYPTBYPASSPHRASE mengembalikan NULL jika menerima frasa sandi yang salah atau informasi pengautentikasi yang salah.
DECRYPTBYPASSPHRASE menggunakan frase sandi untuk menghasilkan kunci dekripsi. Kunci dekripsi ini tidak akan bertahan.
Jika pengautentikasi disertakan pada saat enkripsi ciphertext, DECRYPTBYPASSPHRASE harus menerima pengautentikasi yang sama untuk proses dekripsi. Jika nilai pengautentikasi yang disediakan untuk proses dekripsi tidak cocok dengan nilai pengautentikasi yang awalnya digunakan untuk mengenkripsi data, DECRYPTBYPASSPHRASE operasi akan gagal.
Contoh
Contoh ini mendekripsi rekaman yang diperbarui di EncryptByPassPhrase.
USE AdventureWorks2022;
-- Get the passphrase 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(varchar,
DecryptByPassphrase(@PassphraseEnteredByUser, CardNumber_EncryptedbyPassphrase, 1
, CONVERT(varbinary, CreditCardID)))
AS 'Decrypted card number' FROM Sales.CreditCard
WHERE CreditCardID = '3681';
GO