
Envoyé par
Steppingstone
Bonjour,
Si je comprends bien, ma requête est incomplète? J'imagine tout à faut qu'elle soit fausse, n'hésitez pas à la reprendre de 0 s'il le faut , en m'indiquant les étapes ( cela m'aiderait beaucoup)
Je pense que tu peux faire beaucoup plus simple, mais ne connaissant pas tout le contexte je vais peut être prendre des raccourcis
1/ Utiliser utl_raw.cast_to_raw pour transformer un VARCHAR2 en RAW
raw_key := DBMS_CRYPTO.Hash (utl_raw.cast_to_raw('password'), DBMS_CRYPTO.HASH_MD5);
tu peux très bien le lancer une fois, récupérer le résultat et le définir dans le DECLARE
raw_key RAW(32) := HEXTORAW('5F4DCC3B5AA765D61D8327DEB882CF99');
Pour crypter 'Developpez.com' avec la clé DBMS_CRYPTO.Hash (utl_raw.cast_to_raw('password'), DBMS_CRYPTO.HASH_MD5)
1 2 3 4 5 6 7 8 9
| DECLARE
raw_key RAW(32) := HEXTORAW('5F4DCC3B5AA765D61D8327DEB882CF99');
pre_nom_assure VARCHAR2(100) := 'Developpez.com'; -- champ à crypter
pre_nom_assure_encrypted RAW(2000); -- champ crypté
encryption_type PLS_INTEGER := DBMS_CRYPTO.ENCRYPT_AES128 + DBMS_CRYPTO.CHAIN_ECB + DBMS_CRYPTO.PAD_PKCS5;
BEGIN
pre_nom_assure_encrypted := DBMS_CRYPTO.ENCRYPT(utl_raw.cast_to_raw(pre_nom_assure), encryption_type, raw_key);
dbms_output.put_line('pre_nom_assure_encrypted : '|| pre_nom_assure_encrypted);
END; |
Après j'espère que ton update était juste là pour la forme (pas de condition where)
update AAA_FR.T_TABLE_PRE_TEMP set PRE_NOM_ASSURE = PRE_NOM_ASSURE_ENCRYPTED;
Partager