如题:在javaWEB开发中,用户个人信息保存至数据库中,如何以暗文显示,如密码,个人资料等,在oracle中显示**符号?? 坐等。。

解决方案 »

  1.   

    你不能在客户端加密之后(如abc,加密之后为fjlsadfjajfasjfsdaf)再保存到数据库么
      

  2.   

    就是那个加密啊,在javaWEB程序上如何加密呢? 本人刚学,求帮助。。
      

  3.   

    java基本上常用的加密方式都是支持的,网上查下就好了,资料很多的。
      

  4.   

    还有很多第三方的jar可以用的,apache就有。。
      

  5.   


    oracle数据加密包以下是包的代码和说明:包的声明:
    create or replace package PG_ENCRYPT_DECRYPT is
      function GEN_RAW_KEY  return raw;
      function encrypt_data(p_text in varchar2) return varchar2;
      function encrypt_data(p_num in number) return varchar2;
      function decrypt_data(p_text varchar2) return varchar2;
    end;包的实现:
    create or replace package body PG_ENCRYPT_DECRYPT is
    /*Creating function GEN_RAW_KEY to get key*/
      function GEN_RAW_KEY  return raw
        as
        rawkey raw(240) := '';
        fhandle   utl_file.file_type;
        fp_buffer varchar2(4000);
        begin
          fhandle := utl_file.fopen ('UTL_FILE_DIR','test.abc', 'r');
          utl_file.get_line (fhandle , fp_buffer);
          rawkey :=fp_buffer;
          utl_file.fclose(fhandle);
        return rawkey;
      end;
    /*Creating function encrypt_data,encrypt character*/
      function encrypt_data(p_text in varchar2) return varchar2
        as
        v_text varchar2(4000);
        v_enc varchar2(4000);
        p_key varchar2(4000);
        begin
          v_text := rpad( p_text, (trunc(length(p_text)/8)+1)*8, chr(0));
          p_key := GEN_RAW_KEY;
          sys.dbms_obfuscation_toolkit.desencrypt(
          input_string => v_text,
          key_string => p_key,
          encrypted_string=>v_enc);
        return v_enc;
      end;
    /*Creating function encrypt_data,encrypt number*/
      function encrypt_data(p_num in number) return varchar2
        as
        v_text  varchar2(4000);
        v_enc   varchar2(4000);
        p_key   varchar2(4000);
        p_text  varchar2(4000);
        begin
          p_text := to_char(p_num);
          v_text := rpad( p_text, (trunc(length(p_text)/8)+1)*8, chr(0));
          p_key := GEN_RAW_KEY;
          sys.dbms_obfuscation_toolkit.desencrypt(
          input_string => v_text,
          key_string => p_key,
          encrypted_string=>v_enc);
        return v_enc;
      end;
    /*Creating function decrypt_data,decrypt character*/
      function decrypt_data(p_text varchar2) return varchar2
        as
        v_text varchar2(4000);
        p_key varchar2(4000);
        begin
          p_key := GEN_RAW_KEY;
          sys.dbms_obfuscation_toolkit.desdecrypt(
          input_string => p_text,
          key_string => p_key,
          decrypted_string=> v_text);
        return rtrim(v_text,chr(0));
      end;
    end;
    下面举例
    比如:字符数据加密
    SQL> desc emp
    Name         Type         Nullable Default Comments
    ------------ ------------ -------- ------- --------
    ENO          VARCHAR2(10) Y                        
    ENAME        VARCHAR2(64) Y                        
    ENCRYPT_NAME VARCHAR2(64) Y                        
    SQL> select *from emp;ENO        ENAME                                                            ENCRYPT_NAME
    ---------- ---------------------------------------------------------------- ----------------------------------------------------------------
    0004       c++                                                             
    00001      sqlee                                                           
    00002      lee                                                             
    00003      oracle                                                          SQL> update emp set ENCRYPT_NAME = PG_ENCRYPT_DECRYPT.encrypt_data(ename);4 rows updatedSQL> commit;Commit completeSQL> select *from emp;ENO        ENAME                                                            ENCRYPT_NAME
    ---------- ---------------------------------------------------------------- ----------------------------------------------------------------
    0004       c++                                                              膉??.?
    00001      sqlee                                                            鍀DkR徤a
    00002      lee                                                              F{蘱j0
    00003      oracle                                                           ?(?嫄?