Verschlüsselt die angegebenen Werte unter Verwendung des gelieferten Chiffrierschlüssels und gibt einen LONG BINARY-Wert zurück.
ENCRYPT( Zeichenfolgenausdruck, Schlüssel [, Algorithmus ] )
Algorithmus : 'AES' | 'AES256' | 'AES_FIPS' | 'AES256_FIPS'
Zeichenfolgenausdruck Die zu verschlüsselnden Daten. 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.
Schlüssel Der zum Verschlüsseln von Zeichenfolgenausdruck verwendete Chiffrierschlüssel. Dieser Schlüssel muss auch zum Dechiffrieren des Werts verwendet werden, um den ursprünglichen Wert zu erhalten. Dieser Parameter beachtet die Groß- und Kleinschreibung, sogar in Datenbanken, die das nicht tun.
Wie bei den meisten Kennwörtern sollte ein Schlüssel gewählt werden, der nur schwer erraten werden kann. Es wird empfohlen, dass Sie einen Wert für Ihren Schlüssel wählen, der mindestens 16 Zeichen umfasst und eine Mischung aus Groß- und Kleinbuchstaben, Zahlen und Sonderzeichen enthält. Diesen Schlüssel benötigen Sie jedes Mal, wenn Sie die Daten entschlüsseln wollen.
Bei stark verschlüsselten Datenbanken achten Sie 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 der Unterstützung des technischen Kundendiensts. Die Datenbank muss verworfen und eine neue Datenbank muss erstellt werden.
Algorithmus Dieser optionale Parameter gibt den Algorithmus an, der bei der Chiffrierung von Zeichenfolgenausdruck verwendet werden soll. Der zur Implementierung der starken Verschlüsselung verwendete Algorithmus ist Rijndael: ein Block-Verschlüsselungsalgorithmus, der als Advanced Encryption Standard (AES ) für Block-Chiffren vom amerikanischen National Institute of Standards and Technology (NIST) ausgewählt wurde).
Sie können einen der FIPS-Algorithmen als Algorithmus für jede Plattform festlegen, die FIPS unterstützt.
Wenn kein Algorithmus angegeben ist, wird standardmäßig AES verwendet. Wenn der Datenbankserver mit der Serveroption "fips" gestartet wurde, wird statt dessen AES_FIPS verwendet.
LONG BINARY
Der von dieser Funktion zurückgegebene LONG BINARY-Wert ist maximal 31 Byte länger als der eingegebene Zeichenfolgenausdruck. Der von dieser Funktion zurückgegebene Wert ist nicht in lesbarer Form. Sie können die DECRYPT-Funktion verwenden, um einen Zeichenfolgenausdruck zu dechiffrieren, der mit der ENCRYPT-Funktion verschlüsselt wurde. Um einen Zeichenfolgenausdruck erfolgreich zu dechiffrieren, müssen Sie denselben Chiffrierschlüssel und Algorithmus wie zum Verschlüsseln der Daten verwenden. Wenn Sie einen ungültigen Chiffrierschlüssel angeben, wird ein Fehler generiert. Ein verlorener Schlüssel führt zu nicht benutzbaren Daten, die sich nicht wiederherstellen lassen.
Wenn Sie verschlüsselte Werte in einer Tabelle speichern, sollte die Spalte BINARY oder LONG BINARY sein, damit keine Zeichensatzkonvertierung an den Daten durchgeführt wird.
FIPS steht nicht auf allen Plattformen zur Verfügung. Eine Liste der unterstützten Plattformen finden Sie unter http://www.sybase.com/detail?id=1062625.
SQL/2003 SQL Foundation-Merkmal außerhalb der Kern-SQL.
Der folgende Trigger verschlüsselt die user_pwd-Spalte der user_info-Tabelle. Diese Spalte enthält Benutzerkennwörter, und der Trigger wird ausgelöst, wenn der Kennwortwert geändert wird.
CREATE TRIGGER encrypt_updated_pwd BEFORE UPDATE OF user_pwd ON user_info REFERENCING NEW AS new_pwd FOR EACH ROW BEGIN SET new_pwd.user_pwd=ENCRYPT( new_pwd.user_pwd, '8U3dkA' ); END; |
Kommentieren Sie diese Seite in DocCommentXchange. Senden Sie uns Feedback über diese Seite via E-Mail. |
Copyright © 2009, iAnywhere Solutions, Inc. - SQL Anywhere 11.0.1 |