|
Encrypting would still leave it open for tampering, whether malicious or not.
If the string "XLJKHSD7FR6W2345HLKSDFHO978W642O5KJH3RFO987Y" was the Base64 equivalent of some password, then if I change an alphanumeric character I have rendered the whole thing useless. Don't forget, INI and XML files are clear text. I would be against having clear text files that contain such crucial information.
A binary file would hamper any tampering effects, but that doesn't mean that the file could be deleted, again by mistake or on purpose.
If the post was helpful, please vote, eh!
Current activities:
Book: Devils by Fyodor Dostoyevsky
Project: Hospital Automation, final stage
Learning: Image analysis, LINQ
Now and forever, defiant to the end.
What is Multiple Sclerosis[ ^]?
|
|
|
|
|
Won't help against a hacker, he has the program and therefore either the key or the code that retrieves/calculates the key (and, therefore, the key). The only way to make it impossible for a hacker to get the key, would be to give the program no knowledge about the key or how to get it, but then you're stuck with an encrypted file which you can not decrypt.
There are many ways to make it "harder" for normal users to mess around too much, of course.
Making it a binary file would help, putting it through a DeflateStream would help too, xoring every byte with some funny number (say 0x34) would also help - but only against normal users.
They could, of course, randomly mess the file up..
|
|
|
|
|
I prefer to access the database each time a parameter value is required.
For one thing, it allows changing the configuration without restarting the application.
I use a class that offers properties that access the parameter database.
|
|
|
|
|
Hi there
I need print something with variable number of copies.
I used printdocument component.
private void Print_b_Click(object sender, EventArgs e)
{
printDocument1.PrinterSettings.Copies = 2;
printDocument1.Print();
}
private void printDocument1_PrintPage(object sender, System.Drawing.Printing.PrintPageEventArgs e)
{
e.PageSettings.PrinterSettings.Copies = 2;
e.Graphics.DrawString("Test Print", new Font("Tahoma", 14, System.Drawing.FontStyle.Bold), Brushes.Black, 50, 50);
}
I used PrinterSettings.Copies = 2; in both block but does't work.
If you know why? tell me please.
Best Regards,
Reza Shojaee
|
|
|
|
|
hi all, i have one small question...
do we have ScaleTransform in winforms like that we are having WPF ?
i need to do some work regarding this? please help me
|
|
|
|
|
yes.
doesn't Google work where you are?
|
|
|
|
|
Hello guys,
I'm reading from a database using this called below:
private void GetAllMembers()
{
string query = @"SELECT * FROM [member_details] INNER JOIN club_details ON club_details.memberno = member_details.memberno WHERE [date_added] BETWEEN '" + date_from.SelectedValue.ToString() + "' AND '" + date_to.SelectedValue.ToString() + "'AND primsecconttype = '" + memb_type.SelectedValue.ToString() + "' AND [contracttype] = '" + class_type.SelectedValue.ToString() + "'";
try
{
conn.Close();
cmd = conn.CreateCommand();
cmd.CommandText = query;
conn.Open();
reader = cmd.ExecuteReader();
memb_names.Items.Clear();
while (reader.Read())
{
string firstnames = (string)reader["firstname"];
memb_names.Items.Add(firstnames);
}
if (!reader.Read())
{
error.Visible = true;
error.Text = "Sorry no mambers found in this range..";
}
}
catch (SqlException fff)
{
error.Visible = true;
error.Text = "Error occured: " + fff.Message;
}
}
The issue is that, when I read from a database and no record
is returned I would like to let the user know. it works when
I use an if() else statement but this will only return one
record if by chance the query returns something. A while loop
returns all the records, but I AM FAILING to find a way I can
let the user know if the query returns nothing after using a while loop.
Any help please on how I can let the user know if a while loop returns
nothing???
Thanks,
Mo
|
|
|
|
|
OK. First of all, look up parameterized queries, if you can't use stored procedures.
Second, I fail to realize what your problem is. Your while loop adds items to your collection, why not check the length of the collection after the while loop has run?
If it's 0 - obviously no records were returned.
And third: close your connection. Maybe add a finally statement to your try-catch ?
var question = (_2b || !(_2b));
|
|
|
|
|
Thanks man, you have made sound so simple.
I will try that
|
|
|
|
|
MorgSim wrote: Thanks man, you have made sound so simple.
I will try that
"It's all relative".
Seriously, good luck. I'm sure you'll get there.
var question = (_2b || !(_2b));
|
|
|
|
|
Hi.
i face a problem, record not update and no error show please check my coding and tell me where i do mistake
my coding is
private void dataGridView1_CellValueChanged(object sender, DataGridViewCellEventArgs e)
{
SqlConnection conn = new SqlConnection(connString);
SqlCommand cmd = new SqlCommand();
conn.Open();
cmd.CommandText = "update contract set suppliername='" + dataGridView1.CurrentRow.Cells[1] + "',buyername='" + dataGridView1.CurrentRow.Cells[2] + "',contract_dt='" + dataGridView1.CurrentRow.Cells[3] + "',delivery='" + dataGridView1.CurrentRow.Cells[4] + "',pmode='" + dataGridView1.CurrentRow.Cells[5] + "',comm='" + dataGridView1.CurrentRow.Cells[6] + "',commper='" + dataGridView1.CurrentRow.Cells[7] + "' where contractid='" + dataGridView1.CurrentRow.Cells[0] + "'";
cmd.Connection = conn;
cmd.ExecuteNonQuery();
MessageBox.Show("Record Update..");
conn.Close();
}
|
|
|
|
|
If you are not sure what is going on, then enclose that code in a try...catch block and use
MessageBox.Show(ex.ToString()); to find out.
It may be that you have a try...catch block outside this method which is catching and discarding the error.
On a related note: change this to use parameterized queries, you are leaving yourself wide open to a SQL Injection attack. (Google for "Bobby Tables" to find out what that is)
P.S. When you give code fragments, always enclose them in <pre> </pre> blocks with the "code block" widget to preserve the formatting.
You should never use standby on an elephant. It always crashes when you lift the ears. - Mark Wallace
C/C++ (I dont see a huge difference between them, and the 'benefits' of C++ are questionable, who needs inheritance when you have copy and paste) - fat_boy
|
|
|
|
|
The values you try to add to your ugly dynamic SQL are of type DataGridViewCell
So first of all, use dataGridView1.CurrentRow.Cells[x].Value to extract the values and as OriginalGriff already said, use parameterized queries.
It's easier, more readable, more efficient and NOT UGLY.
var question = (_2b || !(_2b));
|
|
|
|
|
hi i just want to display all empty fieldnames that are not filled up by the user
but my code has this errorer ' use of unassigned local variable 'messEmptyField' ; how can i fix this
<br />
private void btnSave_Click(object sender, EventArgs e)<br />
{<br />
string[] FieldName = { "Lastname", "Firstname", "Address", "Model", "Trouble Reported" };<br />
string messEmptyField;<br />
int i = 0;<br />
<br />
foreach (Control ctrl in groupBox1.Controls)<br />
{<br />
TextBox txt = ctrl as TextBox;<br />
<br />
if (txt.Text == string.Empty)<br />
{<br />
messEmptyField += FieldName[i];
}<br />
i++;<br />
}<br />
<br />
MessageBox.Show(messEmptyField + "please filled up all");<br />
dtDateLog.Focus();<br />
return;<br />
}<br />
<br />
<br />
<br />
<br />
|
|
|
|
|
This line:
string messEmptyField;
should probably be:
string messEmptyField = string.Empty;
|
|
|
|
|
hi
try this
string messEmptyField="";
|
|
|
|
|
uraghu wrote: string messEmptyField="";
Using string.Empty is the good practice.
|
|
|
|
|
You can try the following:
string messEmptyField = "";
--the choice is all yours!--
|
|
|
|
|
You can use String.Empty as the others say, or better still use StringBuilder:
private void btnSave_Click(object sender, EventArgs e)
{
string[] FieldName = { "Lastname", "Firstname", "Address", "Model", "Trouble Reported" };
StringBuilder messEmptyField = new StringBuilder();
int i = 0;
foreach (Control ctrl in groupBox1.Controls)
{
TextBox txt = ctrl as TextBox;
if (txt.Text == string.Empty)
{
messEmptyField.Append(FieldName[i]);
}
i++;
}
MessageBox.Show(messEmptyField.ToString() + "please filled up all");
dtDateLog.Focus();
return;
}
You should never use standby on an elephant. It always crashes when you lift the ears. - Mark Wallace
C/C++ (I dont see a huge difference between them, and the 'benefits' of C++ are questionable, who needs inheritance when you have copy and paste) - fat_boy
|
|
|
|
|
I am trying to create a simple text file and save it to C as:
File.Create(C:/Points.txt)
I am getting this error:
System.UnauthorizedAccessException was unhandled
Message="Access to the path 'C:\\Points.txt' is denied."
Source="mscorlib"
StackTrace:
at System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath)
at System.IO.FileStream.Init(String path, FileMode mode, FileAccess access, Int32 rights, Boolean useRights, FileShare share, Int32 bufferSize, FileOptions options, SECURITY_ATTRIBUTES secAttrs, String msgPath, Boolean bFromProxy)
at System.IO.FileStream..ctor(String path, FileMode mode, etc.
Can anyone tell me why? Its my computer and I am the sole user and administrator.
Thanks
|
|
|
|
|
Interesting, I tried and got the same error.
Then I tried with Notepad and I got the same error as well.
Seems to be one of those path were you need to be really the administrator (as in, if you said yes to an UAC prompt)
A train station is where the train stops. A bus station is where the bus stops. On my desk, I have a work station....
_________________________________________________________
My programs never have bugs, they just develop random features.
|
|
|
|
|
I had absolutely no trouble doing this on XP, not even a warning. So I guess you're not using XP
|
|
|
|
|
|
Hy,
3 options:
0) Disable the UAC or play with it until W7 will let you copy on root(c:\)
without the UAC prompt.
1) Implement a UAC like button or something for this purpose
Here's an example on how to bypass the UAC
2) Use the application folder
I highly recommed nr 2)
modified on Tuesday, April 6, 2010 10:56 PM
|
|
|
|
|
Thanks
|
|
|
|
|