Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
platí pro:SQL Server
Azure SQL Database
Azure SQL Managed Instance
SQL databáze v Microsoft Fabric
Tato funkce šifruje data asymetrickým klíčem.
Syntaxe
EncryptByAsymKey ( Asym_Key_ID , { 'plaintext' | @plaintext } )
Arguments
asym_key_ID
ID asymetrického klíče v databázi.
asym_key_ID má typ dat int .
Čistý text
Řetězec dat, který ENCRYPTBYASYMKEY se zašifruje asymetrickým klíčem.
Cleartext může mít
- binary
- znak
- nchar
- nvarchar
- varbinary
nebo
- varchar
datový typ.
@plaintext
Proměnná obsahující hodnotu, která ENCRYPTBYASYMKEY se zašifruje asymetrickým klíčem.
@plaintext může mít
- binary
- znak
- nchar
- nvarchar
- varbinary
nebo
- varchar
datový typ.
Návratové typy
varbinary, s maximální velikostí 8 000 bajtů.
Poznámky
Šifrovací a dešifrovací operace využívající asymetrické klíče spotřebovávají značné zdroje, a proto jsou ve srovnání se šifrováním a dešifrováním symetrického klíče dražší. Doporučujeme, aby se vývojáři vyhnuli asymetrickému šifrování a dešifrovacím operacím na velkých datových sadách – například uživatelských datových sadách uložených v databázových tabulkách. Místo toho navrhujeme, aby vývojáři nejprve zašifrovali tato data silným symetrickým klíčem a poté tento symetrický klíč zašifrovali asymetrickým klíčem.
V závislosti na algoritmu vrací NULL, ENCRYPTBYASYMKEY pokud vstup překročí určitý počet bajtů. Konkrétní limity:
- 512bitový RSA klíč může šifrovat až 53 bajtů
- 1024bitový klíč může šifrovat až 117 bajtů
- 2048bitový klíč může šifrovat až 245 bajtů
V SQL Serveru slouží jak certifikáty, tak asymetrické klíče jako obaly nad RSA klíči.
Examples
Tento příklad šifruje text uložený v asymetrickém @cleartext klíči JanainaAsymKey02. Příkaz vloží zašifrovaná data do tabulky ProtectedData04 .
INSERT INTO AdventureWorks2022.Sales.ProtectedData04
VALUES( N'Data encrypted by asymmetric key ''JanainaAsymKey02''',
EncryptByAsymKey(AsymKey_ID('JanainaAsymKey02'), @cleartext) );
GO
Viz také
DECRYPTBYASYMKEY (Transact-SQL)
VYTVOŘIT ASYMETRICKÝ KLÍČ (Transact-SQL)
Hierarchie šifrování