LogoLogo
Go to Syntho.AI
Dutch (AI Translated)
Dutch (AI Translated)
  • Welcome to Syntho
  • Overzicht
    • About Syntho
    • Get started
      • Introduction to data generation methods
      • Use Case: AI-generated synthetic data
      • Use Case: AI-generated synthetic time series data
      • Use Case: Database de-identification
    • Frequently asked questions
  • Werkruimten instellen
    • View workspaces
    • Create a workspace
      • Connect to a database
        • PostgreSQL
        • MySQL / MariaDB
        • Oracle
        • Microsoft SQL Server
        • DB2
        • Databricks
        • Hive
        • SAP Sybase
        • Azure Data Lake Storage (ADLS)
        • Amazon Simple Storage Service (S3)
    • Edit a workspace
    • Delete a workspace
    • Share a workspace
    • Transfer workspace ownership
  • Een gegevensgeneratietaak configureren
    • Configure table settings
    • Configure column settings
      • AI-powered generation
        • Sequence model
          • Prepare your sequence data
      • Mockers
        • Consistent mapping
        • Supported languages
      • Duplicate
      • Exclude
      • Hashing
      • Calculated columns
      • Primary Key / Foreign Key
    • Manage personally identifiable information (PII)
      • Discover and de-identify PII columns
        • Identify PII columns manually
        • Automatic PII discovery with PII scanner
      • Remove columns from PII list
      • Automatic PII discovery and de-identification in free text columns
      • Supported PII & PHI entities
    • Manage foreign keys
      • Foreign key inheritance
      • Add virtual foreign keys
        • Add virtual foreign keys
        • Use foreign key scanner
        • Import foreign keys via JSON
        • Export foreign keys via JSON
      • Delete foreign keys
      • Circular foreign key references
    • Validate and Synchronize workspace
    • View and adjust generation settings
    • Table relationships
      • Verify foreign keys
      • Synthesize individual tables with automatic key matching
      • De-identify PII columns
  • Syntho implementeren
    • Introduction
      • Syntho architecture
      • Requirements
        • Requirements for Docker deployments
        • Requirements for Kubernetes deployments
      • Access Docker images
        • Using internet
        • Without internet
    • Deploy Syntho using Docker
      • Preparations
      • Deploy using Docker Compose
      • Run the application
      • Manually saving logs
    • Deploy Syntho using Kubernetes
      • Preparations
      • Deploy Ray using Helm
        • Troubleshooting
      • Deploy Syntho using Helm
      • Validate the deployment
      • Troubleshooting
      • Upgrading the applications
    • Manage users and access
      • Single Sign-On (SSO) in Azure
      • Manage admin users
      • Manage non-admin users
    • Logs and monitoring
  • Subsetting
    • What is subsetting
    • Verify foreign keys
    • Configure subsetting
  • Syntho API
    • Syntho REST API
Powered by GitBook
On this page
  • Default Hashing Approaches by Data Type
  • Considerations

Was this helpful?

  1. Een gegevensgeneratietaak configureren
  2. Configure column settings

Hashing

PreviousExcludeNextCalculated columns

Last updated 10 months ago

Was this helpful?

Syntho beta feature

Op dit moment is hashing alleen beschikbaar voor sleutels, maar het kan nu worden uitgebreid naar gewone kolommen. Deze nieuwe functionaliteit wordt geïntroduceerd onder een nieuwe hoofdcategorie in de Generation Method. De standaard hashingbenadering wordt gespecificeerd voor elk datatype, met specifieke overwegingen voor sleutels en reguliere kolommen.

Volg deze stappen om de nieuwe hashingfunctie voor reguliere kolommen te gebruiken:

  1. Navigeer naar Column Settings in je databasebeheerinterface.

  2. Onder Generation Methodkiezen Hashing om de hashingfunctie voor de geselecteerde kolom in te schakelen.

  3. Kies het juiste gegevenstype voor de kolom en zorg ervoor dat de instellingen overeenkomen met de standaard hashingbenaderingen die hierboven zijn gespecificeerd:

    • Voor Discrete Valueswordt het Hasty Pudding Cipher algoritme gebruikt.

    • Voor Categorical Valueswordt de Forward Preserving Encryption (FPE) met het FF3-algoritme toegepast.

    • Voor Datetime Valueswordt een willekeurige offset toegevoegd.

    • Voor UUIDszullen de waarden consistent worden toegewezen aan nieuwe UUID's.

  4. Sla de instellingen op en ga verder met het genereren of transformeren van gegevens.

Default Hashing Approaches by Data Type

  1. Discrete Values:

    • Algoritme: Hasty Pudding Cipher.

    • Gedrag: Er wordt een 1-op-1-toewijzing gemaakt tussen alle discrete waarden in een bereik. Dit wordt gebruikt om de waarden in de bron consistent om te zetten naar nieuwe, gehashte waarden.

    • Bereik: Het fallbackbereik voor waarden ligt binnen het toegestane bereik voor een 32-bits geheel getal, maar het werkelijke bereik hangt af van het datatype en de databaseondersteuning.

      • Minimum fallback: -2,147,486,647

      • Maximale terugval: 2,147,486,647

    • Beperking: Negatieve getallen hashen altijd naar negatieve getallen en positieve getallen naar positieve getallen. Een interne variabele codeert het teken van getallen door een extra bit te gebruiken voor het teken, de absolute waarde te nemen en na het hashen te vermenigvuldigen met -1 als het oorspronkelijke getal negatief was. Merk op dat 0 nooit wordt gehasht.

  2. Categorical Values:

    • Algoritme: Forward Preserving Encryption (FPE) met het FF3-algoritme.

    • Referentie:

    • Opmerking: Het minimumaantal tekens hangt af van de grootte van het gebruikte alfabet, wat meestal resulteert in minimaal 4 tekens.

  3. Datetime Values:

    • Methode: Voeg een willekeurige offset toe aan de originele waarde.

  4. UUIDs:

    • Methode: Consequent toewijzen aan een nieuwe UUID.

Considerations

  • Hashingwaarden zijn afhankelijk van de globale zaadwaarde, wat betekent dat ze veranderen als de zaadwaarde wordt gewijzigd.

  • Oversampling is niet toegestaan voor hashing en duplicatie wanneer het is ingesteld op een sleutelkolom. Voor reguliere kolommen is deze beperking niet van toepassing.

Ordering and Indexing Considerations

Voor een nauwkeurige ordening is het essentieel dat de toepassing een index of een primaire sleutel in de brontabel heeft. Als deze ontbreken, sorteert de toepassing standaard op basis van de eerste kolom van de tabel. Als de eerste kolom echter dubbele waarden bevat, kan de volgorde niet worden gegarandeerd, omdat deze afhankelijk is van het sorteeralgoritme van de database om dubbele waarden te verwerken. Het toevoegen van een index aan de brontabel lost dit probleem op.

Het is belangrijk om op te merken dat het gebruik van consistente mapping in een tabel zonder gedefinieerde primaire sleutels of indexen kan leiden tot onverwachte resultaten. In dergelijke gevallen gebruikt de toepassing de eerste kolom voor het ordenen, die mogelijk geen unieke waarden bevat, wat leidt tot niet-deterministische resultaten.

Door hashing beschikbaar te maken voor reguliere kolommen, krijgen gebruikers meer flexibiliteit in het verwerken van gegevens, waarbij consistentie en beveiliging over verschillende datatypes worden gegarandeerd terwijl de gespecificeerde beperkingen en gedragingen worden nageleefd.

FF3-algoritme