sql >> Database >  >> Database Tools >> phpMyAdmin

Hoe een specifieke kolom in een MySQL-tabel te coderen?

Kijk hier voor een lijst met mogelijke versleutelingsfuncties:

http://dev.mysql.com/doc/refman /5.1/en/encryption-functions.html

U kunt een trigger voor update maken en daar het veld accessable aanvinken . Zoiets:

CREATE TRIGGER crypt_trg BEFORE UPDATE ON table FOR EACH ROW
BEGIN
  IF new.accessable = 0 THEN
    SET new.msg := ENCRYPT(new.msg, 'key');
  ELSE
    SET new.msg := DECRYPT(new.msg, 'key');
  END IF;
END;

U kunt ook alle bestaande records in uw tabel bijwerken met deze vraag:

UPDATE table SET msg = IF(accessable = 0, ENCRYPT(msg, 'key'), DECRYPT(msg, 'key'));

U kunt dus records voor uw PHP-code selecteren:

SELECT msg_id, user_id, time, IF(accessable = 0, DECRYPT(msg, 'key'), msg) msg
FROM table

UPD. Ook hier was een soortgelijke vraag:

MySQL-versleutelde kolommen



  1. Splits een enkele veldwaarde in meerdere kolomwaarden met vaste lengte in T-SQL

  2. Hoe kan ik een Drupal-site migreren naar Amazon Web Services EC2?

  3. Microsoft SQL Server-fout:18456

  4. Maak een gekoppelde server in de beheerstudio aan de SAGE 50 US-database met behulp van de ODBC-gegevensbronbeheerder