2015-05-01 1 views
-1

Это сводит меня с ума!Расшифровывать данные при загрузке из базы данных mysql

У меня есть небольшая программа, получающая данные из базы данных mysql. В таблице указаны два столбца tbl_credent, которые содержат зашифрованные данные, называемые U_Password и U_SecQu.

Я хочу, чтобы данные были дешифрованы при загрузке в мой набор данных.

Вот функция, которая загружает данные, как это:

private void setBindSource() 
    { 
     string cmdString = "SELECT * FROM myDatabase.tbl_credent;"; 
     MySqlDataAdapter da = new MySqlDataAdapter(cmdString, _connection); 
     //_connection is globally defined 
     ds = new System.Data.DataSet(); 
     da.Fill(ds); 

     _BindSource = new System.Windows.Forms.BindingSource(); 
     _BindSource.DataSource = ds.Tables[0]; 
    } 

У меня есть функция, которая расшифровывает данные:

public string decryptData(string encryptedData, string password) 

это работает нормально, но я сейчас не как использовать это с помощью функции выше.

+0

Вы могли бы подкласс адаптера данных и переопределить 'Fill'? –

ответ

2

Вы должны расшифровать каждую строку один за другим:

Поместите этот код только после того, как da.Fill(ds);

foreach (DataRow row in ds.Tables[0].Rows) 
{ 
    row["U_Password"] = decryptData(row["U_Password"] as string, "password"); 
    row["U_SecQu"] = decryptData(row["U_SecQu"] as string, "password"); 
} 
+0

Работы БОЛЬШИЕ! Большое спасибо! – leatherwolf

Смежные вопросы