On Mar 28, 12:09 pm, "Gabriel Genellina" <[EMAIL PROTECTED]> wrote: > En Fri, 28 Mar 2008 10:54:49 -0300, Clodoaldo <[EMAIL PROTECTED]> > escribió: > > > > > I'm using a md5 hash encoded with base64.urlsafe_b64encode as a > > parameter of a URL used to confirm a registration in a site. It has > > been working great. > > > The url is like this: > > >http://example.com/ce?i=878&h=kTfWSUaby5sBu9bIfoR87Q== > > > Now i need to match that URL in a certain text and i realized that > > urlsafe_b64encode uses the "=" character so i can't just use \w{24} to > > match the parameter. > > > What i need to know is where can an equal char appear in a > > urlsafe_b64encoded string?: > > > a)only at end; > > b)both at the end and at the begginig; > > c)anywhere in the string; > > > A sure answer will make my regexp safer. > > Only at the end. The encoded string has 4*n chars when the input string > has 3*n chars; when the input length is 3*n+1 or 3*n+2, the output has > 4*(n+1) chars right padded with 2 or 1 "=" chars. > If your input has 3n chars, the output won't have any "="
Thanks. But I'm not sure i get it. What is n? A md5 digest will always be 16 bytes length. So if i understand it correctly (not sure) the output will always be 22 chars plus two trailing equal chars. Right? Regards, Clodoaldo Pinto Neto -- http://mail.python.org/mailman/listinfo/python-list