Как я могу зашифровать вывод mysqldump с помощью VB.NET? - PullRequest
3 голосов
/ 23 января 2012

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

Call isDirectoryExist()
    Call createDbBackupName()

    Dim myProcess As Process = New Process

    Dim strUser As String = "superadmin"

    ' MsgBox(" --host=localhost --user='" & strUser & "'   --password """ & strDbName & """  -r """ & strPath & newDBName & """ ")

    Process.Start("C:/MySQL/bin/mysqldump.exe", " --host=localhost --user='" & strUser & "'   --password=1234 """ & strDbName & """  -r """ & strPath & newDBName & """ ")

У меня также есть возможность восстановить эти файлы. используя эти коды.

Dim strm As System.IO.Stream
    strm = ofpSQL.OpenFile
    txtRestore.Text = ofpSQL.FileName.ToString

    If Not (strm Is Nothing) Then


        Dim dbToRestore As String = ofpSQL.FileName.ToString

        Dim myProcess As New Process()
        myProcess.StartInfo.FileName = "cmd.exe"
        myProcess.StartInfo.UseShellExecute = False
        myProcess.StartInfo.WorkingDirectory = "C:\MySQL\bin\"
        myProcess.StartInfo.RedirectStandardInput = True
        myProcess.StartInfo.RedirectStandardOutput = True
        myProcess.Start()
        Dim myStreamWriter As StreamWriter = myProcess.StandardInput
        Dim mystreamreader As StreamReader = myProcess.StandardOutput
        myStreamWriter.WriteLine("mysql -u superadmin --password=1234 """ & strDbName & """ < """ & ofpSQL.FileName.ToString & """ ")
        myStreamWriter.Close()
        myProcess.WaitForExit()
        myProcess.Close()

        strm.Close()
    End If

Конечно, если он зашифрован, его необходимо расшифровать перед запросом файла дампа.

Понятия не имею, какое шифрование я могу сделать в vb.net и mysql

Во всяком случае, если мне случится знать один, я не знаю, как я могу его использовать. Любая помощь и вклад будут очень полезны.

Заранее спасибо.

Я изменил свой первый код

Process.Start("C:/MySQL/bin/mysqldump.exe", " --host=localhost --user='" & strUser & "'   --password=1234 """ & strDbName & """  -r """ & strPath & newDBName & """, --cipher /e /a '" & newDBName & "' ")

но выходной файл ничего не содержит. ТИА

1 Ответ

0 голосов
/ 10 февраля 2012

Измените свой код на это,

Process.Start("C:/MySQL/bin/mysqldump.exe", " --host=localhost --user='" & strUser & "'   --password=1234 """ & strDbName & """  -r """ & strPath & newDBName & """")
Process.WaitForExit()
Process.Start("C:\Windows\System32\cipher.exe", "/e /a '" & strPath & newDBName & "' ")
...