Как читать список австрийских Робинсонов с PL / SQL - PullRequest
0 голосов
/ 14 марта 2012

Австрийский коммерческий список отказа предоставляется в виде необработанного двоичного файла со значениями хэша sha-1 каждые 20 байтов.Как читать и конвертировать его в VARCHAR2 с PL / SQL.

Ответы [ 2 ]

0 голосов
/ 15 марта 2012

Мой коллега нашел ответ: Дополнительный адрес электронной почты только для проверки конверсии.Тестовый хэш-файл взят с официального австрийского сайта: http://www.rtr.at/de/tk/nutzenecg

DECLARE
  vInHandle  utl_file.file_type;
  V1 RAW(32767);
  vEmail VARCHAR2(200) := 'karl.testinger@firma.at';
BEGIN
  --open file 
  vInHandle := utl_file.fopen('RECEIVE', 'testliste.hash', 'R');
  --read raw 20 bytes
  UTL_FILE.GET_RAW(vInHandle,V1,20); 
  --convert raw 20 bytes to HEX
  dbms_output.put_line('Compiled hash:'||LOWER (TO_CHAR (RAWTOHEX (v1))));

  --convert email to hash
  dbms_output.put_line('Email hash:   '||LOWER (sys.dbms_crypto.HASH(utl_raw.cast_to_raw(vEmail),sys.dbms_crypto.hash_sh1))); 



END fopen;
/

Если оба выхода одинаковы, все работает нормально.У пользователя ORACLE должны быть права на выполнение пакета dbms_crypto.

0 голосов
/ 14 марта 2012

Это можно сделать с помощью больших двоичных объектов / больших объектов (больших двоичных объектов) для хранения и чтения двоичных форматов файлов.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...