Jonathan,

Since you said you are writing something for "patients" you might want to
either market it as something else (personal diary) or check the HIPPA
regulations.  HIPPA imposes some rather strict requirements even though
your software is for the patient and not the health-care provider. The requirements may still apply and the consequences of failure to comply are draconian at a minimum.

Jamie
Sales     800-539-1780
Support     706-632-3763
Fax         706-632-6498
www.installfactory.com



On May 1, 2006, at 10:54 AM, [EMAIL PROTECTED] wrote:

Jonathon Bevar wrote:

If I wanted to save a User and Password editfields, mind you I am using the Password mask in the Password editfield, how would the password editfield be
saved?

Save the MD5 hash of it. Then, to check the user's entered password against what's saved in the file, compute the MD5 of what the user entered, and compare it to what's in the file.

Is there some auto-encryption when saved to an .ini or text file?

No.

1> I want this to be easy and for all platforms so hiding it in the
registery is non-sinse to me. A simple text file should be fine if the
editfield data is encrypted already.

Agreed.

2> If this is not the case then, is there an easy encryption method I could
use to encrypt the Password data to a simple text file?

Yep, MD5.

3> And of course a way of un-encrypt the file to view it to check if it is
the correct password.

No, you don't want that. If there were an easy way for you to un- encrypt the password, then that would be an easy way for others to do it, too. Instead, all you need is a way to encrypt (hash) what the user enters in the same way it was done originally, so you can compare it to what's in the file.

This still leaves your users vulnerable to a dictionary attack, of course (where the bad guy computes the MD5 of every word in the dictionary, looking for one that matches what's stored for the password). So tell your users not to pick a password that's a real word.

I am creating a diary log for patients and one end-user wants a password protected log as he has other members in his family that he does not want
'snooping' in his personal log entries.  I don't blame him.

Hmm, I see I didn't fully appreciate your needs; you need to encrypt not just the password, but the data as well. But the advice above about using MD5 to store the password is still useful; just treat "storing the password" and "storing the data" as two different problems. A one-way encryption (e.g. MD5) is still the best way to store the password.

As for the data, you'll need to do something else. For industrial- grade encryption, you'll probably need to use a plugin or find a library, as that code can be quite complex. But there are some relatively simple things you can do that may be good enough for an app like this. Here's an example:

1. Put the data to be encrypted into a MemoryBlock (m1).
2. Make a second MemoryBlock (m2) of the same size, and fill this with the password repeated over and over.
3. Now, zip through the data like this:

  for i = 0 to m1.Size - 1
    m1.Byte(i) = BitwiseXOR( m1.Byte(i), m2.Byte(i) )
  next

This computes the XOR of the data with the password. This will work to both encrypt and decrypt the data. I want to stress that any serious cryptographer with a decent amount of data encoded this way could crack it without breaking a sweat, but it would certainly stump any "normal" person, and it's easy to implement.

HTH,
- Joe

--
Joe Strout -- [EMAIL PROTECTED]
Available for custom REALbasic programming or instruction.

_______________________________________________
Unsubscribe or switch delivery mode:
<http://www.realsoftware.com/support/listmanager/>

Search the archives of this list here:
<http://support.realsoftware.com/listarchives/lists.html>

_______________________________________________
Unsubscribe or switch delivery mode:
<http://www.realsoftware.com/support/listmanager/>

Search the archives of this list here:
<http://support.realsoftware.com/listarchives/lists.html>

Reply via email to