|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Invité de passage
![]() Inscription : avril 2008 Messages : 4 ![]() |
Bonjour Mesdames et Messieurs,
Je tiens avant à présenter toutes mes excuses vous avez A faire a un plus que débutant en PL SQL il faudrait donc me répondre comme si j'avais 2 ans. Voici mon problème J'utilise la fonction Oracle de Cryptage des données : dbms_obfuscation_toolkit.DESEncrypt or mon but et de crypter une donnée, de la stocker dans une table et de pouvoir la décrypter or c'est ici que le bat blesse ... ce que je décrypte ne ressemble en rien à ma donnée d'origine. Voici ma fonction de Cryptage : DECLARE input_string VARCHAR2(16) := '1111222233334444'; raw_input RAW(128) := UTL_RAW.CAST_TO_RAW(input_string); key_string VARCHAR2(10) := '!!?L.KJN?.'; raw_key RAW(128) := UTL_RAW.CAST_TO_RAW(key_string); encrypted_raw RAW(2048); encrypted_string VARCHAR2(2048); BEGIN dbms_obfuscation_toolkit.DESEncrypt(input => raw_input, key => raw_key, encrypted_data => encrypted_raw ); encrypted_string := UTL_RAW.CAST_TO_VARCHAR2(encrypted_raw); update XX.TABLE set CB_CRYPTEE = encrypted_string where NO_DONNEE=228337 ; END; sur cet exemple ce que je stocke dans ma table ressemble à : 75¥FL&™n‰æíáå et voici ma fonction de decryptage : DECLARE input_string VARCHAR2(2048) := '75¥FL..&™.n‰æíáå'; key_string VARCHAR2(10) := '!!?L.KJN?.'; raw_key RAW(128) := UTL_RAW.CAST_TO_RAW(key_string); encrypted_raw RAW(2048) := UTL_RAW.CAST_TO_RAW(input_string); decrypted_raw RAW(2048); decrypted_string VARCHAR2(2048); BEGIN dbms_obfuscation_toolkit.DESDecrypt( input => encrypted_raw, key => raw_key, decrypted_data => decrypted_raw); decrypted_string := UTL_RAW.CAST_TO_VARCHAR2(decrypted_raw) ; update XX.TEMP_TABLE set CB_DECRYPTEE= decrypted_string where N_DONNEE=228337 ; END; et là je récupere : ?ôöƒ™j‡±u Je comprends pas ... Merci d'avance. |
|
|
00
|
|
|
#2 |
|
Expert Confirmé Sénior
![]() ![]() ![]() Laurent SchneiderAdministrateur de base de données Inscription : décembre 2005 Messages : 2 927 ![]() |
Code :
input_string VARCHAR2(2048) := '75¥FL..&™.n‰æíáå'; je ferais plutôt Code :
input_string RAW(2000) := HEXTORAW('00112233AAFF'); |
|
00
|
|
|
#3 |
|
Invité de passage
![]() Inscription : avril 2008 Messages : 4 ![]() |
Merci pour ta réponse, le probleme qui se pose à moi est que tu transformes mon champ varchar2 de type XXXXXXXXXXXXXXXX en hexa pour le passer dans un hextoraw, ce champ sera normalement un numéro de CB saisi en 16 caractères.
|
|
|
00
|
|
|
#4 |
![]() ![]() ![]() Inscription : mai 2003 Messages : 6 534 ![]() |
__________________
Rédacteur Oracle (Oracle ACE) Guide Oracle ,Guide PL/SQL, Guide Forms 9i/10g, Index de recherche Je ne réponds pas aux questions techniques par MP Blogs: Forms-PL/SQL-J2EE - Forms Java Beans |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com