sql >> Databasteknik >  >> RDS >> Mysql

Hur gör man en LIKE-sökning med krypterad data?

AES_ENCRYPT kommer att lägga till utfyllnad runt inmatningssträngen ( https://dev.mysql.com/doc/refman/5.6/en/encryption-functions.html#function_aes-encrypt ), vilket innebär att din jämförelse aldrig kommer att matcha på de krypterade strängarna.

Har du testat att jämföra de dekrypterade värdena? Det borde vara mer tillförlitligt.

select id_question 
from question 
where AES_DECRYPT(lib_question, HEX('AVtr34ENMG')) like '%contribuer%';



  1. Android med rum - Hur man ställer in en främmande nyckel på null

  2. Har replace into en where-klausul?

  3. Använder funktionen COALESCE för att göra värden separerade med kommatecken

  4. Ebean manuell dekryptering