Anfang der Änderung

DECRYPT_DATAKEY_INTEGER, DECRYPT_DATAKEY_BIGINT, DECRYPT_DATAKEY_DECIMAL, DECRYPT_DATAKEY_VARCHAR, DECRYPT_DATAKEY_CLOB, DECRYPT_DATAKEY_VARGRAPHIC, DECRYPT_DATAKEY_DBCLOB und DECRYPT_DATAKEY_BIT skalare Funktionen

Die Funktionen zur Entschlüsselung des Datenschlüssels geben einen Wert zurück, der das Ergebnis der Entschlüsselung des ersten Arguments (zuvor mit der Funktion ENCRYPT_DATAKEY verschlüsselt) unter Verwendung des Algorithmus ist, der bei der Verschlüsselung der Daten angegeben wurde. Der Name der Entschlüsselungsfunktion gibt den gewünschten Ergebnisdatentyp an. Der Name der aufgerufenen Entschlüsselungsfunktion muss dem ursprünglichen Datentyp der verschlüsselten Daten entsprechen.

Berechtigung

Anfang der ÄnderungDie primäre Autorisierungs-ID, die zum Aufrufen der Entschlüsselungsfunktion verwendet wird, muss zur Verwendung des Schlüsseletiketts autorisiert sein, das zum Verschlüsseln der Daten verwendet wurde. RACF und ähnliche externe Sicherheitsprodukte können den Zugriff zulassen, wenn die Berechtigung zur Verwendung der Schlüsselkennung einer der Gruppen gestattet ist, denen die primäre Berechtigungs-ID zugeordnet ist. with.The Die Schlüsselkennung wird in den Metadaten gespeichert, die mit dem verschlüsselten Wert gespeichert werden, so dass die Schlüsselkennung bei der Entschlüsselung nicht angegeben werden muss. Wenn für die primäre Autorisierungs-ID kein ACEE verfügbar ist, erstellt Db2 einen ACEE, um bei Ausführung der Entschlüsselungsfunktion die erforderliche Autorisierung zu überprüfen. Weitere Informationen finden Sie unter Wenn Db2 eine ACEE erstellt.Ende der Änderung

Syntax

Ganzzahl:

Syntaxdiagramm lesenÜberspringe das visuelle SyntaxdiagrammDECRYPT_DATAKEY_INTEGERDECRYPT_DATAKEY_BIGINT( verschlüsselte Daten)

Dezimalzahl:

Syntaxdiagramm lesenÜberspringe das visuelle SyntaxdiagrammDECRYPT_DATAKEY_DECIMAL( verschlüsselte Daten,31,Genauigkeit,0 , Maßstab )

Zeichenfolge:

Syntaxdiagramm lesenÜberspringe das visuelle SyntaxdiagrammDECRYPT_DATAKEY_VARCHARDECRYPT_DATAKEY_CLOBDECRYPT_DATAKEY_VARGRAPHICDECRYPT_DATAKEY_DBCLOB( verschlüsselte Daten),ccsid-konstant

Bit:

Syntaxdiagramm lesenÜberspringe das visuelle SyntaxdiagrammDECRYPT_DATAKEY_BIT( verschlüsselte Daten)

Das Schema ist SYSIBM.

verschlüsselte Daten
Ein Ausdruck, der einen integrierten VARBINARY- oder BLOB-Wert zurückgibt. Der Wert muss im gleichen Format zurückgegeben werden, das die Funktion ENCRYPT_DATAKEY zurückgibt.
ccsid-konstant
Eine Ganzzahlkonstante, die die CCSID angibt, in der die Daten von der Entschlüsselungsfunktion zurückgegeben werden sollen. Der Wert muss einer der CCSID-Werte in DECP sein. Wenn das Ergebnis der Funktion VARCHAR ist, muss die angegebene CCSID entweder eine SBCS- oder eine MIXED-CCSID sein. Wenn das Ergebnis der Funktion CLOB ist, muss die angegebene CCSID eine MIXED CCSID sein, wenn das Kodierungsschema Unicode ist; andernfalls muss die angegebene CCSID eine SBCS- oder MIXED CCSID sein. Wenn das Ergebnis der Funktion VARGRAPHIC oder DBCLOB ist, muss die angegebene CCSID eine DBCS CCSID sein. Siehe Kodierungsschema und CCSID-Regeln für Strings für besondere Überlegungen zu CCSID 367.
Wenn ccsid nicht angegeben wird, wenn es sich bei den verschlüsselten Daten um eine Zeichen- oder Grafikzeichenfolge handelt, wird der Standardwert wie folgt aus dem Kodierungsschema und dem Datentyp des Ergebnisses bestimmt:
  • Für statische SQL-Anweisungen die ENCODING-Bindungsoption des Plans oder Pakets oder die Option APPLICATION ENCODING SCHEME der CREATE- oder ALTER-Anweisung für eine kompilierte SQL-Skalarfunktion, eine native SQL-Prozedur oder einen erweiterten Trigger.
  • Für dynamische SQL-Anweisungen der Wert des Spezialregisters "ANWENDUNGSKODIERUNG".
Der Standard-CCSID des Ergebnisses wird aus dem Ergebnisdatentyp bestimmt:
  • VARCHAR: Das Standardergebnis CCSID ist die gemischte Daten-CCSID für das Kodierungsschema.
  • CLOB: das Standardergebnis CCSID ist die gemischte Daten-CCSID für das Kodierungsschema.
  • VARGRAPHIC oder DBCLOB: Das Standardergebnis CCSID ist die DBCS CCSID für das Kodierungsschema.
genauigkeit
Eine ganze Zahl mit einem Wert größer oder gleich 1 und kleiner oder gleich 31.
skala
Eine ganze Zahl, die größer oder gleich Null und kleiner oder gleich der Genauigkeit ist. Der Wert gibt die Größenordnung des Ergebnisses an.
Der Datentyp des Ergebnisses der Funktion wird durch den Namen der aufgerufenen Entschlüsselungsfunktion bestimmt. Der Name der Entschlüsselungsfunktion muss den Datentyp des ursprünglichen Werts angeben, der mit der Funktion ENCRYPT_DATAKEY verschlüsselt wurde.
Tabelle 1. Funktionen zur Entschlüsselung von Datenschlüsseln und Datentyp des Ergebnisses
Funktion Datentyp des ersten Arguments Ursprünglicher Datentyp der verschlüsselten Daten Datentyp des Ergebnisses der Funktion
DECRYPT_DATAKEY_INTEGER VARBINARY INTEGER INTEGER
DECRYPT_DATAKEY_BIGINT VARBINARY BIGINT BIGINT
DECRYPT_DATAKEY_DECIMAL VARBINARY DECIMAL DEZIMAL (Genauigkeit, Maßstab )
DECRYPT_DATAKEY_BIT VARBINARY CHAR FÜR BIT-DATEN, VARCHAR FÜR BIT-DATEN VARCHAR FOR BIT DATA
DECRYPT_DATAKEY_VARCHAR VARBINARY CHAR, VARCHAR VARCHAR

DECRYPT_DATAKEY_CLOB BLOB CLOB CLOB
DECRYPT_DATAKEY_VARGRAPHIC VARBINARY GRAPHIC, VARGRAPHIC VARGRAPHIC
DECRYPT_DATAKEY_DBCLOB BLOB DBCLOB DBCLOB

Das Längenattribut des Ergebnisses ist das Längenattribut des Datentyps der verschlüsselten Daten minus 8 Byte. Wenn eine Funktion einen String-Datentyp zurückgibt, ist das Längenattribut des Ergebnisses das Längenattribut des Datentyps der verschlüsselten Daten minus 16 Byte. Die tatsächliche Länge des Ergebnisses entspricht der Länge der ursprünglichen Zeichenkette, die verschlüsselt wurde. Wenn die verschlüsselten Daten Bytes enthalten, die über die verschlüsselte Zeichenfolge hinausgehen, werden diese Bytes von der Funktion nicht zurückgegeben.

Wenn das erste Argument null ist, kann das Ergebnis null sein; wenn das erste Argument null ist, ist das Ergebnis der Nullwert.

Wenn der Ergebnisdatentyp eine Zeichenkette ist, werden die verschlüsselten Daten in die ursprüngliche CCSID entschlüsselt und dann wird das Zwischenergebnis in die angegebene CCSID für das Ergebnis umgewandelt. Wenn der Ergebnisdatentyp VARCHAR FOR BIT DATA ist, ist die CCSID des Ergebnisses 65535. Andernfalls, wenn der Ergebnisdatentyp VARCHAR, CLOB, DBCLOB oder VARGRAPHIC ist, ist die CCSID des Ergebnisses ccsid. Wenn die Daten mit einer anderen CCSID als dem ursprünglich verschlüsselten Wert entschlüsselt werden, kann es bei der Konvertierung des entschlüsselten Werts in diese CCSID zu einer Erweiterung kommen. In solchen Situationen muss der verschlüsselte Datenwert zunächst in eine Zeichenkette mit variabler Länge und einer größeren Anzahl von Bytes umgewandelt werden, bevor die Entschlüsselung durchgeführt werden kann.

Beispiel

Entschlüsseln Sie den Wert in der Spalte "PROTECTED_SSN VARBINARY". Die verschlüsselten Daten waren ursprünglich eine Zeichenkette.

SELECT DECRYPT_DATAKEY_VARCHAR(PROTECTED_SSN)
FROM CUSTOMER
WHERE CID = ?

Die CCSID für das Ergebnis wurde nicht angegeben, sodass sie standardmäßig wie für den Parameter ccsid beschrieben ist.

Ende der Änderung