Not
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Gäller för:SQL Server
Azure SQL Database
Azure SQL Managed Instance
SQL-databas i Microsoft Fabric
Denna funktion krypterar data med en asymmetrisk nyckel.
Transact-SQL syntaxkonventioner
Syntax
EncryptByAsymKey ( Asym_Key_ID , { 'plaintext' | @plaintext } )
Arguments
asym_key_ID
ID:t för en asymmetrisk nyckel i databasen.
asym_key_ID har en int-datatyp .
Klartext
En datasträng som ENCRYPTBYASYMKEY krypteras med den asymmetriska nyckeln.
Klartext kan ha en
- binary
- tecken
- nchar
- nvarchar
- varbinary
eller
- varchar
datatyp.
@plaintext
En variabel som innehåller ett värde som ENCRYPTBYASYMKEY kommer att krypteras med den asymmetriska nyckeln.
@plaintext kan ha en
- binary
- tecken
- nchar
- nvarchar
- varbinary
eller
- varchar
datatyp.
Returtyper
varbinary, med en maximal storlek på 8 000 byte.
Anmärkningar
Krypterings- och dekrypteringsoperationer som använder asymmetriska nycklar förbrukar betydande resurser och blir därför dyra jämfört med symmetrisk nyckelkryptering och dekryptering. Vi föreslår att utvecklare undviker asymmetrisk nyckelkryptering och dekryptering på stora datamängder – till exempel användardatamängder lagrade i databastabeller. Istället föreslår vi att utvecklare först krypterar den datan med en stark symmetrisk nyckel, och sedan krypterar den symmetriska nyckeln med en asymmetrisk nyckel.
Beroende på algoritmen returnerar ENCRYPTBYASYMKEYNULL om indatan överstiger ett visst antal byte. De specifika gränserna:
- en 512-bitars RSA-nyckel kan kryptera upp till 53 byte
- En 1024-bitars nyckel kan kryptera upp till 117 byte
- En 2048-bitars nyckel kan kryptera upp till 245 byte
I SQL Server fungerar både certifikat och asymmetriska nycklar som wrappers över RSA-nycklar.
Examples
Detta exempel krypterar texten som lagras i @cleartext med den asymmetriska nyckeln JanainaAsymKey02. Satsen infogar den krypterade datan i tabellen ProtectedData04 .
INSERT INTO AdventureWorks2022.Sales.ProtectedData04
VALUES( N'Data encrypted by asymmetric key ''JanainaAsymKey02''',
EncryptByAsymKey(AsymKey_ID('JanainaAsymKey02'), @cleartext) );
GO
Se även
DEKRYPTERA ASYMKEY (Transact-SQL)
SKAPA ASYMMETRISK NYCKEL (Transact-SQL)
Krypteringshierarki