Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Şunlar için geçerlidir:SQL Server
Azure SQL Veritabanı
Azure SQL Yönetilen Örneği
Microsoft Fabric'te SQL veritabanı
Bu fonksiyon, verileri asimetrik bir anahtarla şifreler.
Transact-SQL söz dizimi kuralları
Sözdizimi
EncryptByAsymKey ( Asym_Key_ID , { 'plaintext' | @plaintext } )
Arguments
asym_key_ID
Veritabanındaki asimetrik anahtarın kimliği.
asym_key_IDbir yapay veri tipine sahiptir.
Açık metin
Asimetrik anahtarla şifrelenen bir veri ENCRYPTBYASYMKEY dizisi.
Açık metin
- binary
- char
- nchar
- nvarchar
- varbinary
veya
- varchar
veri tipi.
@plaintext
Asimetrik anahtarla şifrelenecek bir değeri ENCRYPTBYASYMKEY taşıyan bir değişken.
@plaintext
- binary
- char
- nchar
- nvarchar
- varbinary
veya
- varchar
veri tipi.
Dönüş Türleri
en büyük boyutu 8.000 bayt olan varbinary.
Açıklamalar
Assimetrik anahtarlar kullanan şifreleme ve şifre çözme işlemleri önemli kaynaklar tüketir ve bu nedenle simetrik anahtar şifreleme ve şifre çözmeye kıyasla pahalı hale gelir. Geliştiricilerin, büyük veri kümelerinde asimetrik anahtar şifreleme ve şifre çözme işlemlerinden kaçınmalarını öneriyoruz - örneğin, veritabanı tablolarında depolanan kullanıcı veri setlerinde. Bunun yerine, geliştiricilerin önce bu veriyi güçlü simetrik bir anahtarla şifrelemelerini, ardından o simetrik anahtarı asimetrik bir anahtarla şifrelemelerini öneriyoruz.
Algoritmaya bağlı olarak, ENCRYPTBYASYMKEY giriş belirli bir bayt sayısını aşarsa NULL döner. Belirli sınırlar:
- 512-bit RSA anahtarı ise 53 bayta kadar şifreleyebilir
- 1024-bitlik bir anahtar 117 bayta kadar şifreleyebilir
- 2048-bitlik bir anahtar 245 bayta kadar şifreleyebilir
SQL Server'da hem sertifikalar hem de asimetrik anahtarlar RSA anahtarları üzerinde wrapper olarak hizmet verir.
Örnekler
Bu örnek, asimetrik anahtarla JanainaAsymKey02depolanan @cleartext metni şifreler. Bu ifade, şifrelenmiş verileri tabloya ProtectedData04 ekler.
INSERT INTO AdventureWorks2022.Sales.ProtectedData04
VALUES( N'Data encrypted by asymmetric key ''JanainaAsymKey02''',
EncryptByAsymKey(AsymKey_ID('JanainaAsymKey02'), @cleartext) );
GO
Ayrıca Bkz.
DECRYPTBYASYMKEY (Transact-SQL)
CREATE ASİMETRİK ANAHTAR (Transact-SQL)
Şifreleme Hiyerarşisi