

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

# Jenis kolom dalam Komputasi Kriptografi untuk Clean Rooms
<a name="crypto-computing-column-types"></a>

Topik ini memberikan informasi tentang jenis kolom dalam Komputasi Kriptografi untukClean Rooms.

**Topics**
+ [Fingerprintkolom](#fingerprint-columns)
+ [Kolom tertutup](#sealed-columns)
+ [Cleartextkolom](#cleartext-columns)

## Fingerprintkolom
<a name="fingerprint-columns"></a>

*Fingerprintkolom* adalah kolom yang dilindungi secara kriptografis untuk digunakan dalam JOIN pernyataan.

Data dari fingerprint kolom tidak dapat didekripsi. Hanya data dari kolom tertutup yang dapat didekripsi.

Fingerprintkolom hanya boleh digunakan dalam klausa dan fungsi SQL berikut:
+ JOIN (INNER, OUTER, LEFT, RIGHT, or FULL)terhadap fingerprint kolom lain: 
  + Jika nilai `allowJoinsOnColumnsWithDifferentNames` parameter diatur ke`false`, kedua fingerprint kolom juga JOIN harus memiliki nama yang sama.
+ `SELECT COUNT()`
+ `SELECT COUNT(DISTINCT )`
+ `GROUP BY`(Hanya gunakan jika kolaborasi telah menetapkan nilai `preserveNulls` parameter ke`true`.)

Kueri yang melanggar batasan ini mungkin menghasilkan hasil yang salah.

## Kolom tertutup
<a name="sealed-columns"></a>

*Kolom tertutup* adalah kolom yang dilindungi secara kriptografis untuk digunakan dalam SELECT pernyataan. 

Kolom tertutup hanya boleh digunakan dalam klausa dan fungsi SQL berikut:
+ `SELECT`
+ `SELECT ... AS`
+ `SELECT COUNT()`
**catatan**  
`SELECT COUNT(DISTINCT )` tidak didukung.

Kueri yang melanggar batasan ini mungkin menghasilkan hasil yang salah.

### Padding data untuk sealed kolom sebelum enkripsi
<a name="padding-data"></a>

Saat Anda menentukan bahwa kolom harus berupa sealed kolom, C3R menanyakan *padding* jenis apa yang harus dipilih. Padding data sebelum enkripsi adalah opsional. Tanpa padding (tipe pad`none`), panjang data terenkripsi menunjukkan ukuran. cleartext Dalam beberapa keadaan, ukuran cleartext dapat mengekspos plaintext. Dengan padding (tipe pad `fixed` atau`max`), semua nilai pertama-tama diempuk ke ukuran umum dan kemudian dienkripsi. Dengan padding, panjang data terenkripsi tidak memberikan informasi tentang cleartext panjang aslinya, selain memberikan batas atas pada ukurannya.

Jika Anda ingin padding untuk kolom dan panjang byte maksimal data di kolom itu diketahui, gunakan `fixed` padding. Gunakan `length` nilai yang setidaknya sebesar panjang byte dari nilai terpanjang di kolom itu. 

**catatan**  
Terjadi kesalahan dan enkripsi gagal jika nilai lebih panjang dari yang disediakan`length`.

Jika Anda ingin padding untuk kolom dan panjang byte maksimal data di kolom itu tidak diketahui, gunakan `max` padding. Mode padding ini membungkus semua data dengan panjang nilai terpanjang ditambah `length` byte tambahan.

**catatan**  
Anda mungkin ingin mengenkripsi data dalam batch, atau memperbarui tabel Anda dengan data baru secara berkala. Ketahuilah bahwa `max` padding akan memasukkan entri ke panjang (plus `length` byte) dari entri plaintext terpanjang dalam batch tertentu. Ini berarti bahwa panjang ciphertext dapat bervariasi dari batch ke batch. Oleh karena itu, jika Anda mengetahui panjang byte maksimum untuk kolom, maka Anda harus menggunakan `fixed` sebagai gantinya. `max`

## Cleartextkolom
<a name="cleartext-columns"></a>

*Cleartextkolom* adalah kolom yang tidak dilindungi secara kriptografis untuk digunakan dalam JOIN atau SELECT pernyataan.

Cleartextkolom dapat digunakan di bagian manapun dari query SQL.