phpMyAdmin
 sql >> база данни >  >> Database Tools >> phpMyAdmin

Как да шифровате конкретна колона в MySQL таблица?

Вижте тук списък с възможни функции за криптиране:

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

Можете да създадете тригер за актуализация и да проверите там полето accessable . Нещо такова:

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;

Можете също така да актуализирате всички съществуващи записи във вашата таблица с тази заявка:

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

Така че можете да изберете записи за вашия PHP код:

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

UPD. Също така тук имаше подобен въпрос:

шифровани колони на MySQL



  1. DBeaver
  2.   
  3. phpMyAdmin
  4.   
  5. Navicat
  6.   
  7. SSMS
  8.   
  9. MySQL Workbench
  10.   
  11. SQLyog
  1. PhpMyAdmin протокол за свързване PIPE

  2. Промяна на набор от символи по подразбиране

  3. mysql се присъединява към 2 таблици - показва всички редове от една таблица

  4. Защо не мога да вляза в MYSQL с phpmyadmin?

  5. Инсталиране на phpMyAdmin с Nginx на CentOS 8