

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

# Tipos de colunas em computação criptográfica para o Clean Rooms
<a name="crypto-computing-column-types"></a>

Este tópico fornece informações sobre os tipos de coluna na Computação Criptográfica para o Clean Rooms.

**Topics**
+ [colunas Fingerprint](#fingerprint-columns)
+ [Colunas seladas](#sealed-columns)
+ [colunas Cleartext](#cleartext-columns)

## colunas Fingerprint
<a name="fingerprint-columns"></a>

*Colunas Fingerprint* são colunas protegidas criptograficamente para uso em instruções de JOIN.

Os dados das colunas fingerprint não podem ser descriptografados. Somente dados de colunas seladas podem ser descriptografados.

As colunas Fingerprint só devem ser usadas nas seguintes cláusulas e funções SQL:
+ JOIN (INNER, OUTER, LEFT, RIGHT, or FULL) em relação a outras colunas fingerprint: 
  + Se o valor do parâmetro `allowJoinsOnColumnsWithDifferentNames` for definido como `false`, as duas colunas fingerprint do JOIN também deverão ter o mesmo nome.
+ `SELECT COUNT()`
+ `SELECT COUNT(DISTINCT )`
+ `GROUP BY` (Use somente se a colaboração tiver definido o valor do parâmetro `preserveNulls` como `true`.)

As consultas que violam essas restrições podem gerar resultados incorretos.

## Colunas seladas
<a name="sealed-columns"></a>

*Colunas seladas* são colunas protegidas criptograficamente para uso em instruções de SELECT. 

As colunas seladas devem ser usadas somente nas seguintes cláusulas e funções SQL:
+ `SELECT`
+ `SELECT ... AS`
+ `SELECT COUNT()`
**nota**  
Não há suporte ao `SELECT COUNT(DISTINCT )`.

As consultas que violam essas restrições podem gerar resultados incorretos.

### Preenchimento de dados para uma coluna sealed antes da criptografia
<a name="padding-data"></a>

Quando você especifica que uma coluna deve ser uma coluna sealed, o C3R pergunta que tipo de *preenchimento* escolher. Preencher os dados antes da criptografia é opcional. Sem preenchimento (um tipo de bloco de `none`), o comprimento dos dados criptografados indica o tamanho do cleartext. Em algumas circunstâncias, o tamanho do cleartext pode expor o texto sem formatação. Com o preenchimento (um tipo de teclado de `fixed` ou `max`), todos os valores são primeiro preenchidos em um tamanho comum e depois criptografados. Com o preenchimento, o tamanho dos dados criptografados não fornece informações sobre o tamanho original de cleartext, além de fornecer um limite superior para seu tamanho.

Se quiser preenchimento para uma coluna e o comprimento máximo em bytes dos dados nessa coluna for conhecido, use o preenchimento de `fixed`. Use um valor `length` que seja pelo menos tão grande quanto o comprimento em bytes do valor mais longo nessa coluna. 

**nota**  
Ocorre um erro e a criptografia falha se um valor for maior que o fornecido `length`.

Se quiser preenchimento para uma coluna e a extensão máxima em bytes dos dados nessa coluna não for conhecido, use o preenchimento `max`. Esse modo de preenchimento preenche todos os dados até o tamanho do valor mais longo, mais bytes adicionais `length`.

**nota**  
Talvez você queira criptografar dados em lotes ou atualizar suas tabelas com novos dados periodicamente. Lembre-se de que o preenchimento de `max` preencherá as entradas até o comprimento (mais de `length` bytes) da entrada de texto simples mais longa em um determinado lote. Isso significa que o tamanho do texto cifrado pode variar de lote para lote. Portanto, se você souber o comprimento máximo de bytes de uma coluna, deverá usar `fixed` em vez de `max`.

## colunas Cleartext
<a name="cleartext-columns"></a>

As *colunas Cleartext* são protegidas criptograficamente para uso em declarações JOIN ou SELECT.

As colunas Cleartext podem ser usadas em qualquer parte da consulta SQL.