2012-03-14 72 views
-1

奥地利的商业选择退出列表提供与SHA-1散列值,每个20个字节的原始二进制文件奥臣名单。如何使用PL/SQL读取并将其转换为VARCHAR2。如何阅读与PL/SQL

+3

你能解释更多关于二进制文件格式是什么?有数十亿字符数据可能在一个二进制文件format--我们或许可以帮助你,如果你能具体谈谈的格式表示的方式。 – 2012-03-14 14:47:07

回答

0

我的同事找到了答案: 额外的电子邮件地址仅仅是转换的验证。 测试散列文件从官方网站奥采取:http://www.rtr.at/de/tk/nutzenecg

DECLARE 
    vInHandle utl_file.file_type; 
    V1 RAW(32767); 
    vEmail VARCHAR2(200) := '[email protected]'; 
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包。

-1

它可以使用用于存储和读取二进制文件格式二进制大对象/大对象(BLOB)来完成。