Delphi, MySQL, VarBinary, это «правильный» путь? - PullRequest
0 голосов
/ 06 мая 2018

У меня есть работающий алгоритм шифрования и дешифрования AES. Который я теперь могу сохранить в inifile с WriteBinaryStream и ReadBinaryStream. Так что было вполне естественно, что я пытался сделать то же самое в MySQL. Сначала я попробовал varchar, который не работал, поэтому я переключился на varbinary. Вот как я это делаю:

Шифровать и сохранять в поле MySQL varbinary.

UserMain.spUser.Params.ParamByName('pPassword').Value:=TEncoding.ANSI.GetBytes(aes_encrypt(Edit2.Text));

Расшифровать и отобразить в Edit.Text

Edit2.Text:=aes_decrypt(TStringStream.Create(TEncoding.ANSI.GetString(UserMain.UserQueryPassword.AsBytes)));

Ну, это работает, это выглядит просто, что означает, что я думаю, что это хорошо :) Я попробовал это некоторое время сейчас, я всегда могу декодировать пароль независимо от длины.

Я делаю это "правильно" или здесь присутствует что-то опасное?

...