public static string GetConnectionString() { string str = ""; Aes.KeySize keysize; keysize = Aes.KeySize.Bits128; byte[] cipherText = new byte[16]; byte[] decipheredText = new byte[16]; FileInfo inf = new FileInfo(AppDomain.CurrentDomain.BaseDirectory + "settings.dat"); if (inf.Exists) { StreamReader reader = inf.OpenText(); gConnectionParam.setServer(reader.ReadLine()); gConnectionParam.setUserName(reader.ReadLine()); //base.Server = reader.ReadLine(); //base.UserName = reader.ReadLine(); cipherText = Encoding.Unicode.GetBytes(reader.ReadLine()); AesLib.Aes a = new Aes(keysize, new byte[16]); a.InvCipher(cipherText, decipheredText); //Password = Encoding.Unicode.GetString(decipheredText); gConnectionParam.setPassword(Encoding.Unicode.GetString(decipheredText)); //base.Database = reader.ReadLine(); gConnectionParam.setDatabase(reader.ReadLine()); // Fix error : error for There is already an open DataReader associated with this Command which must be closed first ("MultipleActiveResultSets=True;") str = gConnectionParam.getConnString(); } return str; }
private void btnEncrpyt_Click(object sender, EventArgs e) { if (rbtn128.Checked) { keysize = Aes.KeySize.Bits128; } else if (rbt192.Checked) { keysize = Aes.KeySize.Bits192; } else { keysize = Aes.KeySize.Bits256; } byte[] plainText = new byte[16]; byte[] cipherText = new byte[16]; plainText = Encoding.Unicode.GetBytes(txtPlainText.Text.PadRight(8, ' ')); var aes = new Aes(keysize, new byte[16]); aes.Cipher(plainText, cipherText); txtResult.Text = Encoding.Unicode.GetString(cipherText); }
private void saveSettings() { try { dcSQL.Server = txtServerName.Text; dcSQL.Database = cbDatabaseName.Text; if (rbNTSecurity.Checked) { dcSQL.SecurityType = DatabaseConfiguration.WINDOWS_NT_SECURITY; } else if (rbSQLSecurity.Checked) { dcSQL.UserId = txtUserId.Text; dcSQL.Password = txtPassword.Text; dcSQL.SecurityType = DatabaseConfiguration.SQLSERVER_SECURITY; } dcSQL.TestConnection(); if (dcSQL.Connected) { keysize = Aes.KeySize.Bits128; byte[] plainText = new byte[16]; byte[] cipherText = new byte[16]; plainText = Encoding.Unicode.GetBytes(txtPassword.Text.PadRight(8, ' ')); AesLib.Aes a = new Aes(keysize, new byte[16]); a.Cipher(plainText, cipherText); string passasc = Encoding.Unicode.GetString(cipherText); if (File.Exists(AppDomain.CurrentDomain.BaseDirectory + "settings.dat")) File.Delete(AppDomain.CurrentDomain.BaseDirectory + "settings.dat"); FileInfo inf = new FileInfo(AppDomain.CurrentDomain.BaseDirectory + "settings.dat"); StreamWriter writer = inf.CreateText(); writer.WriteLine(txtServerName.Text); writer.WriteLine(txtUserId.Text); writer.WriteLine(passasc); writer.WriteLine(cbDatabaseName.Text); ExMessageBox.Show("Đã lưu", "Thông tin", ExMessageBox.CYButtons.OK, ExMessageBox.CYIcon.Information); writer.Close(); }//if else { ExMessageBox.Show("Kết nối không thành công. Vui lòng kiểm tra lại các thông số kết nối!", "Thông tin", ExMessageBox.CYButtons.OK, ExMessageBox.CYIcon.Error); } } catch(AppException ex) { String strMessage =ex.Message; } }
public override string BuildConnectionString(ConnectionParam pconparam) { // with OdbcConnectionString la` 1 trong cac chuoi~ duoi day // @"Driver={SQL Server};Server=.;Trusted_Connection=yes;Database=pubs;"; // --> ket noi csdl SQL bang che do authentication cua windows // @"Driver={SQL Server};server=.;uid=sa;pwd=12345;database=pubs;"; // --> ket noi csdl SQL bang che do username va password cua SQL // @"Driver={Microsoft ODBC for Oracle};Server=ORACLE8i7;Persist Security Info=False;Trusted_Connection=yes" // @"Driver={Microsoft Access Driver (*.mdb)};DBQ=c:\bin\nwind.mdb" // @"Driver={Microsoft Excel Driver (*.xls)};DBQ=c:\bin\book1.xls" // @"Driver={Microsoft Text Driver (*.txt; *.csv)};DBQ=c:\bin" // @"DSN= dsnname" ==>voi dsnname duoc cau hinh nhu sau : vao administrator Tools/Data Sources (ODBC)->chon tab System (DSN) ->bam nut Add -> chon driver do Microsoft Access(*.mdb)->o muc Data Source Name danh ten DSN bat ky(dsnname) ,vi du la odbcTest->nhan nut Select de chon database Access,vi du D:\test.mdb ->bam nut ok de ket thuc if (DbType == "ODBC_SQL") { keysize = Aes.KeySize.Bits128; byte[] cipherText = new byte[16]; byte[] decipheredText = new byte[16]; FileInfo inf = new FileInfo(AppDomain.CurrentDomain.BaseDirectory + "settingsODBC_SQL.dat"); if (inf.Exists) { StreamReader reader = inf.OpenText(); //base.Server = reader.ReadLine(); pconparam.setServer(reader.ReadLine()); //base.UserName = reader.ReadLine(); pconparam.setUserName(reader.ReadLine()); cipherText = Encoding.Unicode.GetBytes(reader.ReadLine()); AesLib.Aes a = new Aes(keysize, new byte[16]); a.InvCipher(cipherText, decipheredText); //Password = Encoding.Unicode.GetString(decipheredText); pconparam.setPassword(Encoding.Unicode.GetString(decipheredText)); //base.Database = reader.ReadLine(); pconparam.setDatabase(reader.ReadLine()); strconn = reader.ReadLine(); if (strconn == "sa") { //string OdbcConnectionString = @"Driver={SQL Server};server=.;uid=sa;pwd=12345;database=pubs;"; // --> ket noi csdl SQL bang che do username va password cua SQL //strconn = @"Driver={SQL Server};server="+ base.Server + ";uid="+base.UserName +";pwd="+base.Password +";database=" + base.Database; strconn = @"Driver={SQL Server}" + ";Connect Timeout=60" + ";MultipleActiveResultSets=True; server=" + pconparam.getServer() + ";uid=" + pconparam.getUserName() + ";pwd=" + pconparam.getPassword() + ";database=" + pconparam.getDatabase(); } else if (strconn == "rbNTSecurity") { //string OdbcConnectionString = @"Driver={SQL Server};Server=.;Trusted_Connection=yes;Database=pubs;"; // --> ket noi csdl SQL bang che do authentication cua windows //strconn = @"Driver={SQL Server};Server=" + base.Server + ";Trusted_Connection=yes;database="+base.Database; strconn = @"Driver={SQL Server}" + ";Connect Timeout=60" + ";MultipleActiveResultSets=True; Server=" + pconparam.getServer() + ";Trusted_Connection=yes;database=" + pconparam.getDatabase(); } reader.Close(); } else { StreamWriter writer = inf.CreateText(); writer.Close(); } base.ConnectionString = strconn; } else if (DbType == "ODBC_Access") { keysize = Aes.KeySize.Bits128; byte[] cipherText = new byte[16]; byte[] decipheredText = new byte[16]; FileInfo inf = new FileInfo(AppDomain.CurrentDomain.BaseDirectory + "settingsOLEDB_Access.dat"); if (inf.Exists) { StreamReader reader = inf.OpenText(); //base.Server = reader.ReadLine(); pconparam.setServer(reader.ReadLine()); //base.UserName = reader.ReadLine(); pconparam.setUserName(reader.ReadLine()); cipherText = Encoding.Unicode.GetBytes(reader.ReadLine()); AesLib.Aes a = new Aes(keysize, new byte[16]); a.InvCipher(cipherText, decipheredText); //Password = Encoding.Unicode.GetString(decipheredText); pconparam.setPassword(Encoding.Unicode.GetString(decipheredText)); //base.Database = reader.ReadLine(); pconparam.setDatabase(reader.ReadLine()); strconn = reader.ReadLine(); string accessDBpath = pconparam.getDatabase(); //duong dan chua file csdl Access //set duong` dan cho file csdl Access neu no ko nam` trong thu muc ung dung \bin\Debug //hoac string OdbcConnectionString = @"Driver={Microsoft Access Driver (*.mdb)};DBQ=D:\test.mdb"; strconn = @"Driver={Microsoft Access Driver (*.mdb)};DBQ=" + accessDBpath; //example 1 : accessDBpath = test.mdb (neu file test.mdb nam` trong thu muc bin\Debug cua ung dung) //example 2 : accessDBpath = D:\test.mdb trong truong` hop nay` phai set duong dan den file access de ung dung co the truy cap vao file access reader.Close(); } else { StreamWriter writer = inf.CreateText(); writer.Close(); } base.ConnectionString = strconn; } else if (DbType == "ODBC_Oracle") { //@"Driver={Microsoft ODBC for Oracle};Server=ORACLE8i7;Persist Security Info=False;Trusted_Connection=yes" //code later } else if (DbType == "ODBC_Excel") { //@"Driver={Microsoft Excel Driver (*.xls)};DBQ=c:\bin\book1.xls" //code later } else if (DbType == "ODBC_TextFile") { //@"Driver={Microsoft Text Driver (*.txt; *.csv)};DBQ=c:\bin" //code later } else if (DbType == "ODBC_DSN") { string DSN_ODBC_ACCESS = "tenDSN"; //ten DSN keysize = Aes.KeySize.Bits128; byte[] cipherText = new byte[16]; byte[] decipheredText = new byte[16]; FileInfo inf = new FileInfo(AppDomain.CurrentDomain.BaseDirectory + "settingsOLEDB_DSN.dat"); if (inf.Exists) { StreamReader reader = inf.OpenText(); //base.Server = reader.ReadLine(); //ko dung` //base.UserName = reader.ReadLine(); //ko dung` cipherText = Encoding.Unicode.GetBytes(reader.ReadLine()); AesLib.Aes a = new Aes(keysize, new byte[16]); a.InvCipher(cipherText, decipheredText); //Password = Encoding.Unicode.GetString(decipheredText); DSN_ODBC_ACCESS = Encoding.Unicode.GetString(decipheredText); //base.Database = reader.ReadLine(); //strconn = reader.ReadLine(); //hoac string OdbcConnectionString = @"DSN=tenDSN"; strconn = @"DSN=" + DSN_ODBC_ACCESS; reader.Close(); } else { StreamWriter writer = inf.CreateText(); writer.Close(); } base.ConnectionString = strconn; //@"DSN= dsnname" ==>voi dsnname duoc cau hinh nhu sau : //vao administrator Tools/Data Sources (ODBC)->chon tab System (DSN) ->bam nut Add -> chon driver do Microsoft Access(*.mdb) //->o muc Data Source Name danh ten DSN bat ky(dsnname) ,vi du la odbcTest //->nhan nut Select de chon database Access,vi du D:\test.mdb ->bam nut ok de ket thuc //code later } else throw new Exception("Invalid database type"); return base.ConnectionString; }