Re: hash

From: "Guillermo E(dot) Villanueva" <guillermovil(at)gmail(dot)com>
To: Francisco Olarte <folarte(at)peoplecall(dot)com>
Cc: Edwin Quijada <listas_quijada(at)hotmail(dot)com>, pgsql-es-ayuda <pgsql-es-ayuda(at)postgresql(dot)org>
Subject: Re: hash
Date: 2016-07-28 14:50:38
Message-ID: CANm+PCDfPthyNacYZgFrDD_ucQsoWXNGfWZQRSxhvvXVFoUPqQ@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

Francisco, gracias por tu comentario y por tus cálculos, como no recordaba
la fórmula, lo que hice es probar caso por caso :-) , el tema es que tienen
que ser pocos caracteres porque en algunos casos, cuando no funcione el
lector de código de barras, lo ingresaran manualmente, aparte el código de
barras de un hash completo de un md5 ocupa un ancho importante, inmanejable
para lo que lo necesito.

El 27 de julio de 2016, 15:27, Francisco Olarte <folarte(at)peoplecall(dot)com>
escribió:

> 2016-07-27 14:12 GMT+02:00 Guillermo E. Villanueva <guillermovil(at)gmail(dot)com
> >:
> > Hola Edwin, con la prueba que hice me quedé tranquilo, el día que
> lleguen a
> > mas de 50 millones de registros yo y mis hijos ya estaremos jubilados
> jaja.
> > No reemplazo nada, simplemente trunco el md5(). Tengo un trigger que
> hace lo
> > siguiente:
> > new.columnahash := right(md5(new.columnaid),13);
>
> Ten en cuenta que las matematicas son muy putillas, y despues de 50
> millones de unicos te pueden venir 3000 colisiones.
>
> De todas formas la probabilidad de colision ahi es la clasica paradoja
> del cumpleaños, y con 3 digitos hexadecimales y 50 millones de
> intentos esta en un 25% ( Aqui mi codigo, que seguro tiene algn
> problema, y que calcula la probabilidad de NO colision, que como casi
> todo el mundo sabe es la facil:
>
> $ perl -e '$x=16**13; $p=1; for (1..50_000_000) { $p*=$x-$_; $p/=$x; }
> print "$p\n"'
> 0.757633315718648
>
> Seguro que tiene errores de redondeo y cosas asi, y creo que lo que
> calculo es para 50M+1, pero bueno, sus haceis una idea )
>
> Yo probaria a usar base 64, parece que no pero cambiando 16 por 64 en
> ese codigo da un resultado de 0.99999999631153 ).
>
> Francisco Olarte.
>

In response to

  • Re: hash at 2016-07-27 18:27:25 from Francisco Olarte

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message eenriquez 2016-07-28 15:49:46 Re: exportar datos concatenados
Previous Message Gilberto Castillo 2016-07-28 14:45:11 Re: [MASSMAIL]exportar datos concatenados