title: Is there any hash function in PL/SQL?
body: <p>I'm looking for a Hash function in PL/SQL, to get the hash of a varchar. I found a package in Oracle 10 called dbms_crypto with a function dbms_crypto.hash and even other package dbms_sqlhash.getHash, however where I called them, I've got a message like it cannot find them...</p>
  
  <p>Does somebody know how can I call them?? Is there any other package?</p>
  
  <p>Here's my code </p>
  
  <pre><code>DECLARE
   l_textToHash VARCHAR2(19) := 'toto123';
   l_ccn_raw RAW(128) := utl_raw.cast_to_raw(l_textToHash);
   l_encrypted_raw RAW(2048);
  BEGIN
    dbms_output.put_line('CC:  ' || l_ccn_raw);
    l_encrypted_raw := dbms_crypto.hash(l_ccn_raw, 3);
    dbms_output.put_line('SH1: ' || l_encrypted_raw);
  END;
  /
  </code></pre>
  
  <p>Here's the message</p>
  
  <pre><code>Error starting at line 1 in command:
  DECLARE
   l_textToHash VARCHAR2(19) := 'toto123';
   l_ccn_raw RAW(128) := utl_raw.cast_to_raw(l_textToHash);
   l_encrypted_raw RAW(2048);
  BEGIN
    dbms_output.put_line('CC:  ' || l_ccn_raw);
    l_encrypted_raw := dbms_crypto.hash(l_ccn_raw, 3);
    dbms_output.put_line('SH1: ' || l_encrypted_raw);
  END;
  Error report:
  ORA-06550: line 7, column 22:
  PLS-00201: identifier 'DBMS_CRYPTO' must be declared
  ORA-06550: line 7, column 3:
  PL/SQL: Statement ignored
  06550. 00000 -  "line %s, column %s:\n%s"
  *Cause:    Usually a PL/SQL compilation error.
  *Action:
  </code></pre>
  
  <p>Thanks!</p>