sql >> Databasteknik >  >> RDS >> Oracle

Replikera Base64-avkodning av Java i PL/SQL

Ta en titt på CAST_TO_RAW Ddokumentation:

Du bör använda den här:

base64DecodedInput:= UTL_ENCODE.base64_decode(UTL_RAW.CAST_TO_RAW(TO_CHAR(valueToDecrypt)));
DBMS_OUTPUT.PUT_LINE ( 'Base64 decoded is: ' || base64DecodedInput);

00010203040506074DBBEAB1D9972AB0

Vilket (formaterat) ska vara lika med önskat resultat:

00 01 02 03 04 05 06 07 4D BB EA B1 D9 97 2A B0

Det är ganska värdelöst att använda NVARCHAR2 för en BASE64-sträng. Huvudsyftet med BASE64-kodning är att endast representera godtyckliga data med ASCII-tecken, så NVARCHAR2 är ingen mening. Eftersom BASE64 endast innehåller ASCII behöver du inte oroa dig för någon teckenkodning vid CAST(... AS VARCHAR2(200)) .

Naturligtvis för avkodade strängdatatyp NVARCHAR2 kan vara mycket användbart.



  1. ändra format datum MySql

  2. PostgreSQL - få materialiserad vykolumnmetadata

  3. Hur man kontrollerar en databas kompatibilitetsnivå i SQL Server med T-SQL

  4. Sök i JSON-kolumnen med Laravels vältaliga