Y a-t-il une fonction de hachage dans PL / SQL?
Je suis à la recherche d'une fonction de Hachage en PL/SQL, pour obtenir le hash d'un varchar. J'ai trouvé un package Oracle 10 dbms_crypto avec une fonction dbms_crypto.de hachage, et même d'autres package dbms_sqlhash.getHash, cependant, lorsque je les ai appelés, j'ai un message comme il ne peut pas les trouver...
N'quelqu'un sais comment puis-je les appeler?? Est-il un autre paquet?
Voici mon code
DECLARE
l_textToHash VARCHAR2(19) := 'toto123';
l_ccn_raw RAW(128) := utl_raw.cast_to_raw(l_textToHash);
l_encrypted_raw RAW(2048);
BEGIN
dbms_output.put_line('CC: ' || l_ccn_raw);
l_encrypted_raw := dbms_crypto.hash(l_ccn_raw, 3);
dbms_output.put_line('SH1: ' || l_encrypted_raw);
END;
/
Voici le message
Error starting at line 1 in command:
DECLARE
l_textToHash VARCHAR2(19) := 'toto123';
l_ccn_raw RAW(128) := utl_raw.cast_to_raw(l_textToHash);
l_encrypted_raw RAW(2048);
BEGIN
dbms_output.put_line('CC: ' || l_ccn_raw);
l_encrypted_raw := dbms_crypto.hash(l_ccn_raw, 3);
dbms_output.put_line('SH1: ' || l_encrypted_raw);
END;
Error report:
ORA-06550: line 7, column 22:
PLS-00201: identifier 'DBMS_CRYPTO' must be declared
ORA-06550: line 7, column 3:
PL/SQL: Statement ignored
06550. 00000 - "line %s, column %s:\n%s"
*Cause: Usually a PL/SQL compilation error.
*Action:
Merci!
source d'informationauteur jomaora
Vous devez vous connecter pour publier un commentaire.
Assurez-vous que vous disposez des autorisations accordées à l'utilisateur avec lequel vous vous connectez. Parlez-en à votre DBA pour ajouter l'autorisation d'exécution sur le SYS.DBMS_CRYPTO paquet.
Oracle offre une belle guide sur le travail avec les hachée et des données chiffrées à l'aide de la base de données oracle.
Si vous êtes sur une ancienne version de la base de données ne prend pas en charge DBMS_CRYPTO, vous pouvez également essayer DBMS_OBFUSCATION_TOOLKIT.
Dans Oracle 12c, vous pouvez utiliser la fonction STANDARD_HASH.
Selon pourquoi vous essayez de générer le hachage, la fonction intégrée ORA_HASH peut être suffisant,
Je ne voudrais pas essayer de l'utiliser si vous avez besoin d'une fonction de hachage cryptographique sécurisé. Mais si vous avez juste besoin d'un simple hash, cela devrait être suffisant.