Pergunta

De acordo com a mysql documento

"Codificação com um comprimento de chave de 128 bits é usado, mas você pode estendê-lo até 256 bits, modificando a fonte."

Mas eles não parecem fornecer instrução onde a mudar. experiência de qualquer pessoa com esta situação? que arquivo de origem deve mudar?

Nota:. Eu uso estes passos para compilar

Foi útil?

Solução

Eu encontrei pequena ajuda de mysql

arquivo de inclusão / my_aes.h

#define AES_KEY_LENGTH 128 /* must be 128 192 or 256 */

como eu estou usando o openSUSE 11.1 necessidade de ter seguintes ferramentas

sudo zypper install gcc gcc-c++ ncurses-devel

então apenas compilá-lo por esta instrução - aqui

Crédito para Lenz e tripanel.net

Outras dicas

Provavelmente vai ser uma solução mais sustentável para realizar a criptografia no aplicativo cliente.

Além disso, você também, em seguida, obter o benefício de, em seguida, ter os dados transportados através da rede criptografada e não enviar a chave através da rede (Claro que você pode usar SSL para se conectar ao MySQL para mitigar este de qualquer maneira).

Se isso não parece ser uma boa abordagem, por favor postar suas necessidades.

Você provavelmente não quer compilar seus próprios binários MySQL; há coisas mais úteis para os desenvolvedores para fazer do que construir seus próprios binários MySQL. ones de MySQL / Sun são intensamente testados e não contêm regressões de desempenho (esperamos).


O mysql AES_ENCRYPT () funções também são potencialmente não seguro, porque eles não têm documentado

  • Como eles hash a senha para a chave
  • O modo de codificação eles usam

Se eles são feitos de uma forma vulnerável, a criptografia pode ser muito fraco. Depende da sua utilização caso se isso importa.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top