Pular para o conteúdo principal
O vsql_crypto traz ao MySQL um conjunto de funções compatível com o pgcrypto, construído sobre o OpenSSL. Ele cobre quatro tarefas: fazer o hash de um valor, assinar um payload, criptografar uma coluna e armazenar uma senha que você pode verificar mais tarde.

Instalar

O vsql_crypto.veb já está no diretório lib/veb/ do servidor se você instalou o VillageSQL com o script de instalação, a imagem Docker ou um tarball de release. Instale-o no servidor com uma única instrução:
Confirme que ele está lá:
Para compilá-lo você mesmo, siga as instruções de compilação no repositório.

O que ela adiciona

As funções marcadas como binário retornam bytes brutos, então envolva-as em HEX() para lê-las. As demais retornam texto.

Exemplo

Assine um payload:
Armazene uma senha. O resultado carrega o algoritmo, a contagem de iterações e o salt, então a verificação não precisa de nada mais guardado ao lado dele:
O seu salt é aleatório, então o hash é diferente a cada chamada.
O gen_salt oferece suporte somente a pbkdf2-sha256 e pbkdf2-sha512. Pedir bf, md5 ou des retorna NULL, e crypt com um salt NULL retorna NULL, então hashes bcrypt gravados pelo pgcrypto não podem ser verificados aqui.

Veja também