Oracle 如何用PL/SQL阅读奥地利罗宾逊列表

Oracle 如何用PL/SQL阅读奥地利罗宾逊列表,oracle,plsql,Oracle,Plsql,奥地利商业选择退出列表作为原始二进制文件提供,每个20字节具有sha-1哈希值。如何使用PL/SQL读取并将其转换为VARCHAR2。可以使用二进制大对象/大对象(BLOB)来存储和读取二进制文件格式。我的同事找到了答案: 额外的电子邮件地址仅用于验证转换。 测试哈希文件取自奥地利官方网站: 如果两个输出相同,则一切正常。ORACLE用户必须获得授权才能执行dbms_加密包。您能详细解释一下二进制文件格式吗?有几十亿种方式可以将字符数据表示为二进制文件格式——如果您能更具体地了解该格式,我们可能

奥地利商业选择退出列表作为原始二进制文件提供,每个20字节具有sha-1哈希值。如何使用PL/SQL读取并将其转换为VARCHAR2。

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

我的同事找到了答案: 额外的电子邮件地址仅用于验证转换。 测试哈希文件取自奥地利官方网站:


如果两个输出相同,则一切正常。ORACLE用户必须获得授权才能执行dbms_加密包。

您能详细解释一下二进制文件格式吗?有几十亿种方式可以将字符数据表示为二进制文件格式——如果您能更具体地了解该格式,我们可能会为您提供帮助。
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;
/