問題タブ [oracle19c]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
database - DBMS_CRYPTO.ENCRYPT が異なる Oracle DB バージョンで異なる結果を返す
私はアイデアが不足している厄介な問題を抱えています。Oracle dbms_crypto パッケージの DBMS_CRYPTO.ENCRYPT 関数を使用すると、Oracle 11C と Oracle 19 で異なる結果が得られます。この問題に最初に気付いたのは、データベースを 11c から 19c に移行し、保存された値の復号化の問題に遭遇したときでした。
次の SQL クエリは、この問題を示しています。
Oracle 11c では、このクエリは を返します9A18D619A269A5AF9716F2869A8A4F5F
が、Oracle 19c では を返します049AFACC8EC7AE239EC496E5B4534048
。
この違いの原因は何なのかを考えてみました。クエリのサブ部分をチェックし、最初の違いを暗号化関数の出力に分離しました。
また、11g のさまざまなデータベースでチェックしたところ、クエリは常に同じ結果を返しました。
他の誰かが以前にこの問題に遭遇し、これを解決する方法を知っていますか? または、クエリの関数に何が影響するかについて、誰かが私にいくつかの指針を与えることができますか?