Hi All,

Following on from my earlier email - I've the following question now :

I can enforce that the user can't use the same password as the previous four
- when they change their password.  However, the user can manipulate this by
changing the password four times and then resetting back to there original
password.  How would I overcome this problem ? Any thoughts or
recommendations ?

Cheers
Neil

On Tue, Jan 19, 2010 at 9:14 AM, Tompkins Neil <neil.tompk...@googlemail.com
> wrote:

> Hi
>
> Thanks for all the replies.  For your information, we are going to store
> passwords using SHA256.   I think I will go with the four additional column
> approach as I proposed (in the current table) - since this need is a PCI
> compliancy security requirement.  I can then pull all the data with one
> query.
>
> I don't envisage that we will need to record the last 20 passwords as a
> example in the future - so if I need to expand in the future it should not
> be too involved.
>
> Cheers
> Neil
>
>
> On Tue, Jan 19, 2010 at 1:11 AM, Carlos Proal <carlos.pr...@gmail.com>wrote:
>
>> On 1/18/2010 6:52 PM, Colin Streicher wrote:
>>
>>> On January 18, 2010 01:34:15 pm Tompkins Neil wrote:
>>>
>>>
>>>> Hi
>>>>
>>>> I'm in the process of designing a login system to a secure web page
>>>> using
>>>> MySQL.  One of the features is we need to record and ensure that the
>>>> user
>>>> password is different from any of the last four passwords he/she has
>>>> used.
>>>>  I was thinking of create four fields called Password1, Password2,
>>>>  Password3 and Password4 to record the old passwords.
>>>>
>>>> Is this a preferred method - or does anyone else have any
>>>> recommendations ?
>>>>
>>>> Thanks,
>>>> Neil
>>>>
>>>>
>>>>
>>> I'm not an awesome database designer, most of what I do is code related
>>> stuff,
>>> I think what I would do for this is 1. hash the password( sha256/512
>>> whatever)
>>> and then 2. store the hash in a string with delimiters. In that way, you
>>> solve
>>> 2 problems.
>>> You can store as many as you want to because you can just check hashes to
>>> make
>>> sure it isn't the same, and second, you aren't storing passwords in
>>> plain-
>>> text, which is a personal pet peeve.
>>>
>>>
>>>
>>
>> Neil,
>> As others appointed, having another table with old passwords is a good
>> "design" solution, and can allow you to have more than 4 passwords on your
>> history. But in fact your solution is the best solution for performance and
>> is called "denormalization", this solution gives good performance because in
>> 1 read you get all the passwords but has the limitation of be "fixed" to
>> only 4 passwords (which is not so bad because you can add new columns as
>> needed, you will never have 20 history passwords anyway, do you ?).
>> So, thats the trade, design vs performance, you should pick the best for
>> you.
>>
>> The solution proposed by Colin is another way to do it but, from the good
>> design perspective is NOT a good solution, is what its called a "multivalued
>> attribute" and all those should be avoided. But again, is up to you.
>>
>> Carlos
>>
>>
>>
>>
>> --
>> MySQL General Mailing List
>> For list archives: http://lists.mysql.com/mysql
>> To unsubscribe:
>> http://lists.mysql.com/mysql?unsub=neil.tompk...@googlemail.com
>>
>>
>

Reply via email to