Click here to Skip to main content
15,890,438 members
Please Sign up or sign in to vote.
1.00/5 (1 vote)
See more:
Welcome,

I have string array hold some keys used to decrypt column data in the database. but only the first value in the column is decrypted correctly.
C#
private void button8_Click(object sender, EventArgs e)

{

this.txtKey.Hide();

this.lblkey.Hide();

OracleConnection conn;

using (conn = new OracleConnection(oradb))

{

OracleCommand select = new OracleCommand("select EMPNO, ENAME,JOB from EMP", conn);

conn.Open();

OracleDataReader reader = select.ExecuteReader();

Int64 v_empno = 0;

String v_JOBvalue = "";

String Decryptjob = "";

Enigma enigma = new Enigma();

if (reader.HasRows)

{

foreach (var item in KeyList)

{

int i = 0;

string[] the_array = new string[KeyList.Count];

while (reader.Read())

{

v_empno = reader.GetInt32(0);

v_JOBvalue = reader.GetString(2);

the_array[i] = item.ToString();

Decryptjob = enigma.Decrypt(v_JOBvalue, the_array[i]);

// MessageBox.Show(" : value of job :" + v_JOBvalue + "decrypted using the key " + decryptedListKey);

/////////////////////////////////////////////////////////////////////////////////

OracleCommand update = new OracleCommand("update EMP set JOB =:JOB where EMPNO =:EMPNO", conn);

OracleParameter JOB = new OracleParameter("JOB", Decryptjob);

OracleParameter EMPNO = new OracleParameter("EMPNO", v_empno);

update.Parameters.Add(JOB);

update.Parameters.Add(EMPNO);

update.ExecuteNonQuery();

i++;

}}

MessageBox.Show("User updated!");

OracleDataAdapter a = new OracleDataAdapter("select * from EMP", conn);

DataTable t = new DataTable();

a.Fill(t);

dataGridView1.DataSource = t;

reader.Close();

} } }

I assigned keylist on another button that encrypts values as shown

private void buttonencrypt_Click(object sender, EventArgs e)

{

this.txtKey.Hide();

this.lblkey.Hide();

OracleConnection conn;

using (conn = new OracleConnection(oradb))

{

int index = 0;

OracleCommand select = new OracleCommand("select empno,ENAME,job from emp", conn);

conn.Open();

OracleDataReader reader = select.ExecuteReader();

Int64 v_EMPNO = 0;

String v_JOBvalue = "";

String encryptjob = "";

if (reader.HasRows)

{

while (reader.Read())

{

v_EMPNO = reader.GetInt32(0);

v_JOBvalue = reader.GetString(2);

REA rea = new REA();

Enigma enigma = new Enigma();

KeyG = enigma.GenerateKey();

////////////////////////////////////////JOB/////////////////////////////////////

for (index = 0; index < v_JOBvalue.Length; index++)

{encryptjob = enigma.Encrypt(v_JOBvalue, KeyG);}

KeyList.Add(KeyG);

//////////////////////////////////////////////////////////////////////////////////

OracleCommand update = new OracleCommand("update EMP set JOB =:JOB where EMPNO =:EMPNO", conn);

OracleParameter Job = new OracleParameter("JOB", encryptjob);

OracleParameter empno = new OracleParameter("empno", v_EMPNO);

update.Parameters.Add(Job);

update.Parameters.Add(empno);

update.ExecuteNonQuery();

}

string s = String.Join(",", KeyList);

string msg = "";

foreach (string val in KeyList)

msg += val;

MessageBox.Show(msg);

MessageBox.Show("User updated!");

OracleDataAdapter a = new OracleDataAdapter("select * from emp", conn);

DataTable t = new DataTable();

a.Fill(t);

dataGridView1.DataSource = t;

reader.Close();}}}


What I have tried:

I have string array hold some keys used to decrypt column data in the database. but only the first value in the column is decrypted correctly.
Posted
Updated 29-Nov-18 12:19pm
v2
Comments
CHill60 28-Nov-18 7:23am    
Does this mean that the others are NOT decrypted at all OR are decrypted wrongly?

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)



CodeProject, 20 Bay Street, 11th Floor Toronto, Ontario, Canada M5J 2N8 +1 (416) 849-8900