HEXTORAW |
Hexadécimal à brute |
|---|---|
| Oracle Database SQL | Oracle 8i ou supérieure |
Syntaxe
| hextoraw(chaine) |
Paramètres
| Nom | Description |
|---|---|
| chaine | Ce paramètre permet d'indiquer une valeur hexadécimal à convertir en valeur brute. |
Description
Cette fonction permet d'effectuer une conversion d'une chaîne de caractères hexadécimaux en sa valeur brute.
Remarques
- Conversion d'hexadécimal vers binaire brut : La fonction HEXTORAW permet de convertir une chaîne de caractères représentant des valeurs hexadécimales (comme '4F2A') en une représentation binaire brute (type RAW). Cela est utile pour manipuler des données binaires au niveau bas, comme des clefs cryptographiques ou des identifiants encodés.
- Utilisation typique dans les bases de données sécurisées : Dans les contextes de sécurité, on utilise souvent des valeurs hexadécimales pour entreposer des empreintes, des hachages ou des identifiants. HEXTORAW permet de convertir facilement ces valeurs en format brut utilisable dans des colonnes de type RAW, optimisant ainsi l'entreposage et les comparaisons binaires.
- Format de la chaîne strictement hexadécimal : La chaîne fournie à HEXTORAW doit contenir uniquement des caractères hexadécimaux valides (chiffres de 0 à 9 et lettres de A à F, majuscules ou minuscules). Si la chaîne contient un caractère invalide ou une longueur impaire, Oracle déclenche une erreur de conversion.
- Fonction inverse de RAWTOHEX : HEXTORAW est souvent utilisée en complément de RAWTOHEX. Tandis que RAWTOHEX convertit des données binaires brutes en chaîne hexadécimale, HEXTORAW fait le chemin inverse. Ensemble, elles facilitent les allers-retours entre formats texte lisibles et données binaires.
- Support des chaînes avec longueur paire uniquement : Une exigence importante de HEXTORAW est que la chaîne hexadécimale d'entrée ait une longueur paire, puisque chaque octet est représenté par deux caractères hexadécimaux. Si la longueur est impaire, Oracle retourne une erreur, car il ne peut pas générer un octet valide à partir d'un seul caractère.
- Compatible avec les types RAW et BLOB : Les valeurs retournées par HEXTORAW peuvent être insérées dans des colonnes de type RAW ou BLOB. Cela permet d'utiliser cette fonction pour alimenter des colonnes de fichiers binaires, des images ou des objets cryptographiques dans les bases Oracle.
- Utilisée dans la cryptographie et les certificats : Dans les bases Oracle utilisées pour la gestion de certificats, HEXTORAW est fréquemment employée pour insérer des clefs ou des signatures numériques. Elle permet de transformer les représentations texte fournies par les outils de chiffrement en données binaires exploitables par les fonctions SQL.
- Indispensable pour les opérations de bas niveau : Certaines fonctions Oracle, notamment les fonctions de comparaison de RAW ou les opérations sur les identifiants internes, exigent que les données soient au format RAW. HEXTORAW devient alors un outil essentiel pour injecter ces données via des requêtes SQL standards.
- Non sensible à la casse des caractères hexadécimaux : La fonction HEXTORAW accepte aussi bien les majuscules que les minuscules dans la chaîne hexadécimale (par exemple, '4F2A' est équivalent à '4f2a'). Cela facilite l'intégration avec des outils tiers qui peuvent produire du texte hexadécimal dans différents styles.
- Souvent utilisée dans des scripts PL/SQL : Dans les scripts PL/SQL, HEXTORAW est utile pour initialiser des variables de type RAW ou insérer des données binaires de test. Elle permet de représenter de façon lisible des séquences binaires en utilisant du texte facilement copiable et modifiable.
- Utilisation dans les comparaisons et les filtres : On peut utiliser HEXTORAW dans une clause WHERE pour comparer une colonne RAW à une constante hexadécimale. Cela permet d'écrire des requêtes claires comme WHERE identifiant = HEXTORAW('A1B2C3'), rendant le code plus compréhensible pour les développeurs et les DBA.
- Attention aux erreurs de format d'entrée : Il faut être vigilant lors de la saisie des chaînes utilisées avec HEXTORAW, car une erreur de caractère ou une mauvaise longueur peut provoquer des erreurs d'exécution. Oracle ne tente pas de corriger automatiquement ces erreurs, ce qui garantit l'intégrité mais demande de la rigueur.
Voir également
Système - Nombre - Hexadécimal
Article - Les géants de l'informatique - Oracle
Dernière mise à jour : Lundi, le 11 mai 2015