Pular para o conteúdo
Visualizando 4 posts - 1 até 4 (de 4 do total)
  • Autor
    Posts
  • #105305
    mpungan
    Participante

      Pessoal, na empresa que trabalho estamos com uma necessidade de fazer o mascaramento dos dados que vão para ambiente de desenvolvimento. Mas nós gostaríamos de implementarmos isso, alguém tem algumo dica de como podemos fazer, de alguma rotina que nos ajude a começar a fazer esse tipo de trabalho. Alguém tem isso implementado em sua empresa? Como fizeram? É muito complicado de fazer isso? A nossa idéia seria em embaralhar os campos que não são chaves principais e nem chaves estrangeiras das tabelas. Desde já agradeço a quem puder ajudar sobre esse assunto.

      Mpungan

      #105306
      rman
      Participante

        @mpungan

        Eu nunca fiz, mas creio que não seja muito complicado. Você pode fazer o uso da função TRANSLATE.

        Você pode criar 3 alfabetos, e aplicar o TRANSLATE de forma aleatoria, desta forma dificultando a descoberta do padrão.

        Crie uma procedure mais elaborada e aplique nos campos desejados.


        SQL> SELECT TRANSLATE('Consulta sobre mascaramento de dados em banco oracle','aeiou','12345') FROM DUAL;

        TRANSLATE('CONSULTASOBREMASCAR

        C4ns5lt1 s4br2 m1sc1r1m2nt4 d2 d1d4s 2m b1nc4 4r1cl2
        SQL> SELECT TRANSLATE('Consulta sobre mascaramento de dados em banco oracle','aeiou','xyzw') FROM DUAL;

        TRANSLATE('CONSULTASOBREMASCAR

        Cwnsltx swbry mxscxrxmyntw dy dxdws ym bxncw wrxcly
        SQL> SELECT TRANSLATE('Consulta sobre mascaramento de dados em banco oracle','abcdefghijklmnopqrst','dcxkjsmvrlgftwpqznbh') FROM DUAL;

        TRANSLATE('CONSULTASOBREMASCAR

        Cpwbufhd bpcnj tdbxdndtjwhp kj kdkpb jt cdwxp pndxfj

        #105307
        mpungan
        Participante

          Mas essa função só funciona em select?

          Se eu executar o comando abaixo:
          v_operacao := ‘DELETE’;
          v_troca3 := ‘E’;
          v_troca4 := ‘F’;
          translate (v_operacao, v_troca3, v_troca4);

          Pois o que queremos é substituir em diversas tabelas no banco de dados são nomes de pessoas, cpf, endereços, como exemplo abaixo:

          João da Silva Souza —> ficaria Jeui du Filfa Muosa, embaralhar os dados.

          #105308
          rman
          Participante

            @mpungan

            A função pode ser utilizada no UPDATE:


            UPDATE PESSOA SET NOME = TRANSLATE(NOME,'e','f');

          Visualizando 4 posts - 1 até 4 (de 4 do total)
          • Você deve fazer login para responder a este tópico.