Dechiffriert die Zeichenfolge unter Verwendung des gelieferten Schlüssels und gibt einen LONG BINARY-Wert zurück.
DECRYPT( string-expression, key [, algorithm ] )
algorithm : 'AES' | 'AES256' | 'AES_FIPS' | 'AES256_FIPS' [ format ] format: ( FORMAT=RAW [;padding ] ) [ initialization-vector ] ) padding: PADDING=PKCS5 | ZEROES | NONE ]
Zeichenfolgenausdruck Die zu dechiffrierende Zeichenfolge. Auch binäre Werte können an diese Funktion übergeben werden. Dieser Parameter beachtet die Groß- und Kleinschreibung, sogar in Datenbanken, die das nicht tun.
key Der zum Entschlüsseln von Zeichenfolgenausdruck erforderliche Chiffrierschlüssel (Zeichenfolge). Dieser Wert muss derselbe Chiffrierschlüssel sein, der zum Verschlüsseln von Zeichenfolgenausdruck verwendet wurde, um den ursprünglichen Wert zu erhalten. Dieser Parameter beachtet die Groß- und Kleinschreibung, sogar in Datenbanken, die das nicht tun.
Achten Sie bei stark verschlüsselten Datenbanken darauf, eine Kopie des Schlüssels an einem sicheren Ort zu verwahren. Wenn Sie den Chiffrierschlüssel verlieren, gibt es keine Möglichkeit, auf die Daten zuzugreifen, auch nicht mit Unterstützung durch den technischen Support. Die Datenbank muss verworfen und eine neue Datenbank muss erstellt werden.
algorithm Dieser optionale Parameter legt den Algorithmus fest, der ursprünglich zum Verschlüsseln von Zeichenfolgenausdruck verwendet wird.
FORMAT=RAW Dieser optionale Parameter gibt an, dass die zu entschlüsselnden Daten im RAW-Format vorliegen. Der Initialisierungsvektor-Parameter ist erforderlich.
Auffüllen_mit_Zeichen Geben Sie den Typ des Auffüllens mit Zeichen an, der zum Verschlüsseln der Daten verwendet wurde. Wenn Auffüllen_mit_Zeichen nicht angegeben ist, wird standardmäßig PKCS5 verwendet.
Die folgenden Formate zum Auffüllen mit Zeichen werden unterstützt:
PKCS5 Die Daten werden gemäß dem PKCS#5-Algorithmus mit Zeichen aufgefüllt. Die entschlüsselten Daten enthalten Auffüllzeichen.
ZEROES Die Daten werden mit Nullen (0) aufgefüllt. Die entschlüsselten Daten sind mit Nullen aufgefüllt.
NONE Die Daten werden nicht mit Zeichen aufgefüllt. Die entschlüsselten Daten enthalten keine Auffüllzeichen.
Initialisierungsvektor Geben Sie den Initialisierungsvektor an, der zum Verschlüsseln der Daten verwendet wurde. Dieser Parameter ist erforderlich.
LONG BINARY
Sie können die DECRYPT-Funktion verwenden, um einen Zeichenfolgenausdruck zu entschlüsseln, der mit der ENCRYPT-Funktion verschlüsselt wurde. Diese Funktion gibt einen LONG BINARY-Wert mit derselben Anzahl von Bytes wie die Eingabezeichenfolge zurück, es sei denn, die Daten liegen im RAW-Format vor. Wenn FORMAT=RAW angegeben ist, hängt die Länge des zurückgegebenen Werts vom Format zum Auffüllen mit Zeichen ab.
Um einen Zeichenfolgenausdruck erfolgreich zu entschlüsseln, müssen Sie denselben Chiffrierschlüssel verwenden wie zum Verschlüsseln der Daten. Wenn FORMAT=RAW angegeben ist, müssen Sie außerdem denselben Initialisierungsvektor und dasselbe Format zum Auffüllen mit Zeichen verwenden wie zum Verschlüsseln der Daten. Daten im RAW-Format können außerhalb des Datenbankservers entschlüsselt werden.
Wenn Sie einen falschen Chiffrierschlüssel angeben, wird ein Fehler generiert, es sei denn, FORMAT=RAW ist angegeben. Wenn Sie FORMAT=RAW angeben und der angegebene Chiffrierschlüssel oder Initialisierungsvektor falsch ist, schlägt die Entschlüsselung ohne Meldung fehl.
Achten Sie bei stark verschlüsselten Daten darauf, eine Kopie des Schlüssels an einem sicheren Ort zu verwahren. Wenn Sie den Chiffrierschlüssel verlieren, gibt es keine Möglichkeit, auf die Daten zuzugreifen, auch nicht mit Unterstützung durch den technischen Support.
Nicht alle Plattformen unterstützen FIPS-zertifizierte Verschlüsselung. Eine Liste der unterstützten Plattformen finden Sie
unter http://www.sybase.com/detail?id=1061806.
SQL/2008 Erweiterung des Herstellers.
Das folgende Beispiel dechiffriert das Kennwort eines Benutzers aus der Tabelle "user_info". Die CAST-Funktion wird verwendet, um das Kennwort zurück in einen CHAR-Datentyp zu konvertieren, weil die DECRYPT-Funktion Werte in den LONG BINARY-Datentyp konvertiert, der nicht darstellbar ist.
SELECT CAST( DECRYPT( user_pwd, '8U3dkA' ) AS CHAR(100) ) FROM user_info; |
Im folgenden Beispiel werden Daten entschlüsselt, die im RAW-Format verschlüsselt wurden. Die Daten wurden mit dem Chiffrierschlüssel TheEncryptionKey und dem Initialisierungsvektor ThisIsTheIV verschlüsselt.
SELECT DECRYPT( binary_data, 'TheEncryptionKey', 'AES(format=raw;padding=zeroes)', 'ThisIsTheIV'), LENGTH(binary_data) FROM SensitiveData; |
![]() |
Kommentieren Sie diese Seite in DocCommentXchange.
|
Copyright © 2013, SAP AG oder ein SAP-Konzernunternehmen. - SAP Sybase SQL Anywhere 16.0 |