Nothing useful for the purpose being discussed. That's why I apologized for
being pedantic. Hehe

On Mon, Jun 2, 2008 at 11:45 PM, William Conlon <[EMAIL PROTECTED]> wrote:

> not at all.  But are there any provably perfect one-way hashes that are
> computationally practical?
>
> On Jun 2, 2008, at 10:37 PM, Jonah Simpson wrote:
>
> A perfect hash is one to one and onto. md5 has been demonstrated to not be
> one-to-one, and therefore not perfect.
>
> Also, depending on implementation, md5 hash may be used to construct the
> uuid. In reality, the likelihood of colliding uuid is probably about the
> same as colliding md5 (very small). But don't quote me on that, I'd hate to
> have to provide empirical evidence.
>
> Sorry for being pedantic and for continuing down this double off-topic
> rabbit hole. ; >
>
> On Mon, Jun 2, 2008 at 11:14 PM, William Conlon <[EMAIL PROTECTED]> wrote:
>
>> Yes.  A HASH is NOT one-to-one and ONTO; it's merely one-way.
>> The likelihood of a Hash collision may be small, but it's not zero.
>>
>> On Jun 2, 2008, at 10:09 PM, Ben Johansen wrote:
>>
>> Wait a second!
>> are you saying that if i have an auto increment uid field that will have a
>> constant changing value, that md5 is going to produce duplicates?
>>
>> Ben
>>
>> On Jun 2, 2008, at 10:04 PM, William Conlon wrote:
>>
>> Is there a point to this exercise?
>>
>> the autoincrement record_uid ==  last_insert_id is unique.
>> MD5(last_insert_id()) is:
>> 1) not unique -- there can be a hash collision
>> 2) subject to replay attack
>>
>>
>> If the point is to convert the record_uid so you can expose it in a web
>> app, why not use ENCODE/DECODE on (record_uid)?
>>
>>
>>
>> --bill
>>
>>
>> On Jun 2, 2008, at 9:43 PM, Robert Garcia wrote:
>>
>> Just thinking....
>> I know that last_insert_id() is SESSION specific. So it only applies to
>> the session of a connection. Could there be another function, that gets the
>> last insert id, with a global scope? I know MSSQL has this, in session, and
>> global scope. I also saw this somewhere:
>>
>> If you want store the last id for use in multiple insert statements:
>>
>> create table person (
>> id bigint not null primary key auto_increment,
>> name char(100) not null
>> );
>> insert into person set name = 'Joe';
>> select @id:=id as id from class where id = last_insert_id();
>> insert into some_other_table set person_id = @class_id;
>> insert into yet_another_table set person_id = @class_id;
>>
>> --
>>
>> Robert Garcia
>> President - BigHead Technology
>> VP Application Development - eventpix.com
>> 13653 West Park Dr
>> Magalia, Ca 95954
>> ph: 530.645.4040 x222 fax: 530.645.4040
>> [EMAIL PROTECTED] - [EMAIL PROTECTED]
>> http://bighead.net/ - http://eventpix.com/
>>
>> On Jun 2, 2008, at 7:49 PM, Ben Johansen wrote:
>>
>> this one was interesting,
>>
>> at first look you would think you could do
>>
>> -on before insert trigger
>> begin
>> set NEW.record_uid_hash = MD5(NEW.record_uid);
>> end
>>
>> and in fact I was able to get that trigger to save, but each run yielded
>> the same hash value.
>> so apparently it was hashing an empty value, because the auto-increment
>> values is not in the NEW yet
>>
>> also under navicat I found that if you get an error (trigger not defined)
>> when defining a trigger all the info will remain on the screen, but the
>> trigger will be gone for that edit session you have to copy the trigger
>> content into the buffer and then close and then restart the trigger define
>> process.
>>
>> That said, I found that I tried LAST_INSERT_ID()
>>
>> -on before insert trigger
>> begin
>> declare vHashValue varchar(60);
>> set vHashValue = md5(convert(LAST_INSERT_ID(),CHAR));
>> set NEW.record_uid_hash = vHashValue;
>> end
>>
>> but the LAST_INSERT_ID() i just that the last successful insert into table
>> with autoincrement
>> so this proved fruitless, and in looking thru the docs there is apparently
>> now way in a function to get the next auto increment value.
>>
>> so in looking at what is needed and that is just unique md5 hash to be
>> used as a cross-reference to the row id and needing to be unique
>> I came up with this.
>>
>> -on before insert trigger
>> begin
>> set NEW.record_uid_hash = MD5(UUID());
>> end
>>
>> doing the md5 on uuid takes the big uuid down to a smaller 32 char md5
>>
>> Ben
>>
>>
>> On Jun 2, 2008, at 4:18 PM, Dan Stein wrote:
>>
>> I am new to using MYSQL usually use MSSQL.
>> I have a table called record
>>
>> pk is record_uid (auto increments)
>>
>> there is a column called record_uid_hash
>>
>> this is a MD5 of record_uid
>>
>> I want to create a trigger so when a new record is created the MD5 of the
>> record_uid is entered into the row.
>>
>> MD5(record_uid)
>>
>> I can't seem to get the syntax correct.
>>
>> I use NAVACAT to admin the DB I am getting a message saying no such
>> trigger.
>>
>> Any help would be appreciated.
>>
>> Dan
>>
>>  --
>> Dan Stein
>> FileMaker 7 Certified Developer
>> Digital Software Solutions
>> 799 Evergreen Circle
>> Telford PA 18969
>> Land: 215-799-0192
>> Cell: 610-256-2843
>> FMP, WiTango, EDI,SQL 2000, MySQL, PHP
>> [EMAIL PROTECTED]
>> www.dss-db.com
>>
>> "The love of one's country is a splendid thing. But why should love stop
>> at the border? "
>>
>> Pablo Casals
>>
>>
>>
>>
>> ________________________________________________________________________
>> TO UNSUBSCRIBE: Go to http://www.witango.com/developer/maillist.taf
>>
>>
>> ________________________________________________________________________
>> TO UNSUBSCRIBE: Go to http://www.witango.com/developer/maillist.taf
>>
>>
>> ________________________________________________________________________
>> TO UNSUBSCRIBE: Go to http://www.witango.com/developer/maillist.taf
>>
>>
>> ________________________________________________________________________
>> TO UNSUBSCRIBE: Go to http://www.witango.com/developer/maillist.taf
>>
>>
>> ________________________________________________________________________
>> TO UNSUBSCRIBE: Go to http://www.witango.com/developer/maillist.taf
>>
>>
>> ________________________________________________________________________
>> TO UNSUBSCRIBE: Go to http://www.witango.com/developer/maillist.taf
>>
>>
> ________________________________________________________________________
> TO UNSUBSCRIBE: Go to http://www.witango.com/developer/maillist.taf
>
>
> ________________________________________________________________________
> TO UNSUBSCRIBE: Go to http://www.witango.com/developer/maillist.taf
>
>

________________________________________________________________________
TO UNSUBSCRIBE: Go to http://www.witango.com/developer/maillist.taf

Reply via email to