Fonctions cryptographiques
Firebird 5.0 ne prend en charge qu’un sous-ensemble d’algorithmes de chiffrement symétrique (à la fois par blocs et par flux), et RSA.
Fonctions pour traiter les variables contextuelles
Fonctions pour travailler avec des chaînes de caractères
Fonctions pour travailler avec la date et l'heure
Fonctions permettant de travailler avec le type BLOB
Fonctions permettant de travailler avec le type DECFLOAT
Fonctions de conversion de type
Fonctions d'opérations binaires
Fonctions pour traiter les UUID
Firebird 5.0 ne prend en charge qu’un sous-ensemble d’algorithmes de chiffrement symétrique (à la fois par blocs et par flux), et RSA.
CRYPT_HASH()
DSQL, PSQL
CRYPT_HASH (value USING <algorithm>) <algorithm> ::= { MD5 | SHA1 | SHA256 | SHA512 | SHA3_224 | SHA3_256 | SHA3_384 | SHA3_512 }
Paramètre | Description |
---|---|
value |
Une expression de n’importe quel type. Les types non-voyants et non-binaires sont convertis en chaînes de caractères. |
algorithm |
Algorithme de hachage. |
VARBINARY
La fonction CRYPT_HASH
renvoie un hachage cryptographique de la chaîne d’entrée en utilisant l’algorithme spécifié. Cette fonction supporte entièrement les BLOB
de texte de n’importe quelle longueur et avec n’importe quel jeu de caractères. La clause USING
vous permet de spécifier l’algorithme par lequel le hachage est calculé.
Note
|
L’utilisation des algorithmes |
CRYPT_HASH
CRYPT_HASH
SELECT CRYPT_HASH(x USING SHA256) FROM MyTable;
-- Résultat de type VARBINARY
DECRYPT()
DSQL, PSQL
DECRYPT (encrypted_input [USING <algorithm>] [MODE <mode>] KEY key [IV iv] [<ctr_type>] [CTR_LENGTH ctr_length] [COUNTER initial_counter] ) <algorithm> ::= <block_cipher> | <stream_cipher> <block_cipher> ::= AES | ANUBIS | BLOWFISH | KHAZAD | RC5 | RC6 | SAFER+ | TWOFISH | XTEA <stream_cipher> ::= CHACHA20 | RC4 | SOBER128 <mode> ::= CBC | CFB | CTR | ECB | OFB <ctr_type> ::= CTR_BIG_ENDIAN | CTR_LITTLE_ENDIAN
Paramètre | Description |
---|---|
encrypted_input |
BLOB crypté ou chaîne de caractères (binaire) |
algorithm |
Algorithme de cryptage. Les algorithmes de bloc et de flux sont pris en charge. |
mode |
Mode de chiffrement. Obligatoire pour les algorithmes de chiffrement par blocs. |
key |
Clé de cryptage. |
iv |
Vecteur d’initialisation (IV). Doit être spécifié pour tous les ciphers de bloc sauf |
ctr_type |
Ordre des octets du compteur. Ne peut être spécifié qu’en mode |
ctr_length |
Longueur du compteur en octets. Ne peut être spécifié qu’en mode |
initial_counter |
Valeur initiale du compteur. Ne peut être spécifiée que pour l’algorithme |
BLOB
ou VARBINARY
.
La fonction DECRYPT
décrypte les données à l’aide d’un chiffrement symétrique. La taille des chaînes transmises à cette fonction doit répondre aux exigences de l’algorithme et du mode sélectionnés.
DECRYPT
select decrypt(x'0154090759DF' using sober128 key 'AbcdAbcdAbcdAbcd'
iv '01234567')
from rdb$database;
select decrypt(secret_field using aes mode ofb key '0123456701234567'
iv init_vector)
from secure_table;