public static void InsertUpdatePassword(DatabaseParam clsDatabaseParam) { using (SqlConnection connection = new SqlConnection(ConnectionString())) { SqlCommand command = new SqlCommand("InsertUpdatePass", connection); command.Parameters.AddWithValue("Pass", clsDatabaseParam._strCiphertext); command.Parameters.AddWithValue("Keyy", clsDatabaseParam._strKey); command.Parameters.AddWithValue("Vi", clsDatabaseParam._strIV); command.CommandType = CommandType.StoredProcedure; connection.Open(); command.ExecuteNonQuery(); connection.Close(); } }
static void Main(string[] args) { string plaintext = null; int _enterResult; Console.WriteLine("To get password from database enter 1 , to insert new password or update enter 2"); _enterResult = Convert.ToInt32(Console.ReadLine()); if (_enterResult == 2) { Console.WriteLine("Enter new password:\n"); plaintext = Console.ReadLine(); } switch (_enterResult) { case 1: DatabaseParam databaseParam1 = new DatabaseParam(); databaseParam1 = DatabaseLayer.ReturnPassword(); EncryptionDetails encryptionDetails1 = new EncryptionDetails(); encryptionDetails1.ciphertext = ConvertToByteArray(databaseParam1._strCiphertext); encryptionDetails1.iv = ConvertToByteArray(databaseParam1._strIV); encryptionDetails1.key = ConvertToByteArray(databaseParam1._strKey); plaintext = null; plaintext = RijndaelEncryption.DecryptStringFromBytes(encryptionDetails1); Console.WriteLine("So the password saved in Database is : \n {0}", plaintext); Console.ReadLine(); break; case 2: EncryptionDetails encryptionDetails2 = new EncryptionDetails(); encryptionDetails2 = RijndaelEncryption.EncryptStringToBytes(plaintext); DatabaseParam databaseParam2 = new DatabaseParam(CreateString(encryptionDetails2.ciphertext), CreateString(encryptionDetails2.iv), CreateString(encryptionDetails2.key)); DatabaseLayer.InsertUpdatePassword(databaseParam2); break; default: Console.WriteLine("Please enter corect number"); break; } }
public static DatabaseParam ReturnPassword() { DatabaseParam databaseParam = new DatabaseParam(); SqlParameter param = new SqlParameter(); using (SqlConnection connection = new SqlConnection(ConnectionString())) { connection.Open(); SqlCommand command = new SqlCommand("ReturnPass", connection); command.CommandType = CommandType.StoredProcedure; SqlParameter pass = command.Parameters.Add("@Pass", SqlDbType.NVarChar, 4000); SqlParameter key = command.Parameters.Add("@Keyy", SqlDbType.NVarChar, 4000); SqlParameter iv = command.Parameters.Add("@Vi", SqlDbType.NVarChar, 4000); pass.Direction = ParameterDirection.Output; key.Direction = ParameterDirection.Output; iv.Direction = ParameterDirection.Output; command.ExecuteNonQuery(); databaseParam._strCiphertext = pass.Value.ToString(); databaseParam._strIV = iv.Value.ToString(); databaseParam._strKey = key.Value.ToString(); connection.Close(); } return(databaseParam); }