Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.lang.java.programmer > #18842

Re: get hexadecimal hash string for a number

From Kevin McMurtrie <mcmurtrie@pixelmemory.us>
Newsgroups comp.lang.java.programmer
Subject Re: get hexadecimal hash string for a number
References <k3a74r$u3s$1@news.m-online.net>
Date 2012-09-18 22:50 -0700
Message-ID <50595d2f$0$65510$742ec2ed@news.sonic.net> (permalink)
Organization Sonic.Net

Show all headers | View raw


In article <k3a74r$u3s$1@news.m-online.net>,
 Magnus Warker <magnux@mailinator.com> wrote:

> Hi,
> 
> I want users to register on a site and send confirmation emails to them. 
> These emails should contain a link like this:
> 
> http://myurl?registration=E4AC4BD4
> 
> Here, "E4AC4BD4" should be a unique string. My idea for such a string is 
> just to hash an integer, i. e. the internal database key for the 
> registration record.
> 
> However, I actually don't know how to get such a hash. I tried BCrypt, 
> but this produces hashes built out of characters that I would not want 
> to be in a URL, e. g. commatas and that.
> 
> I would like to have a string like this:
> 
> - hexadecimal only
> - fixed size, e. g. always n characters, independend of the integer
> 
> Can you help?
> 
> Thank you!
> 
> Magnus

You can't use a 32 bit integer here.  Valid values would quickly become 
easier to guess as you add users.

1) Use SecureRandom to generate a string of link-safe characters.
2) Insert the key into the database
3) Send the link


Base64 will work well for step one.  Base 64 encodes sets of 3 bytes 
into sets of 4 characters.  You'll want 9 SecureRandom bytes generating 
a 12 character id.


Should step two give you a unique key violation, buy a lottery ticket 
using the numbers.  If you don't retire on the winnings, make sure that 
SecureRandom doesn't have a stupid implementation in your JVM.  You can 
find it with the debugger.
-- 
I will not see posts from Google because I must filter them as spam

Back to comp.lang.java.programmer | Previous | NextPrevious in thread | Next in thread | Find similar | Unroll thread


Thread

get hexadecimal hash string for a number Magnus Warker <magnux@mailinator.com> - 2012-09-18 18:25 +0200
  Re: get hexadecimal hash string for a number markspace <-@.> - 2012-09-18 10:08 -0700
    Re: get hexadecimal hash string for a number Lew <lewbloch@gmail.com> - 2012-09-18 10:14 -0700
    Re: get hexadecimal hash string for a number Arne Vajhøj <arne@vajhoej.dk> - 2012-09-18 19:58 -0400
      Re: get hexadecimal hash string for a number markspace <-@.> - 2012-09-18 17:27 -0700
        Re: get hexadecimal hash string for a number Arne Vajhøj <arne@vajhoej.dk> - 2012-09-18 21:17 -0400
        Re: get hexadecimal hash string for a number Arne Vajhøj <arne@vajhoej.dk> - 2012-09-18 21:21 -0400
      Re: get hexadecimal hash string for a number Magnus Warker <warker@mailinator.com> - 2012-09-19 08:27 +0200
        Re: get hexadecimal hash string for a number Arne Vajhøj <arne@vajhoej.dk> - 2012-09-19 18:30 -0400
        Re: get hexadecimal hash string for a number Kevin McMurtrie <mcmurtrie@pixelmemory.us> - 2012-09-19 19:06 -0700
          Re: get hexadecimal hash string for a number Magnus Warker <warker@mailinator.com> - 2012-09-20 11:32 +0200
  Re: get hexadecimal hash string for a number Lew <lewbloch@gmail.com> - 2012-09-18 10:10 -0700
    Re: get hexadecimal hash string for a number Arne Vajhøj <arne@vajhoej.dk> - 2012-09-18 20:02 -0400
    Re: get hexadecimal hash string for a number Magnus Warker <warker@mailinator.com> - 2012-09-19 08:18 +0200
  Re: get hexadecimal hash string for a number Roedy Green <see_website@mindprod.com.invalid> - 2012-09-18 10:23 -0700
    Re: get hexadecimal hash string for a number Arne Vajhøj <arne@vajhoej.dk> - 2012-09-18 20:00 -0400
  Re: get hexadecimal hash string for a number Arne Vajhøj <arne@vajhoej.dk> - 2012-09-18 20:06 -0400
    Re: get hexadecimal hash string for a number markspace <-@.> - 2012-09-18 17:30 -0700
      Re: get hexadecimal hash string for a number Arne Vajhøj <arne@vajhoej.dk> - 2012-09-18 21:07 -0400
  Re: get hexadecimal hash string for a number Kevin McMurtrie <mcmurtrie@pixelmemory.us> - 2012-09-18 22:50 -0700
  Re: get hexadecimal hash string for a number Leif Roar Moldskred <leifm@dimnakorr.com> - 2012-09-19 01:06 -0500
  Re: get hexadecimal hash string for a number rossum <rossum48@coldmail.com> - 2012-09-19 17:34 +0100
    Re: get hexadecimal hash string for a number Magnus Warker <warker@mailinator.com> - 2012-09-20 11:30 +0200
      Re: get hexadecimal hash string for a number rossum <rossum48@coldmail.com> - 2012-09-21 12:48 +0100
        Re: get hexadecimal hash string for a number Lew <lewbloch@gmail.com> - 2012-09-21 10:15 -0700
          Re: get hexadecimal hash string for a number Magnus Warker <warker@mailinator.com> - 2012-09-26 06:11 +0200
            Re: get hexadecimal hash string for a number Arne Vajhøj <arne@vajhoej.dk> - 2012-09-26 09:29 -0400
              Re: get hexadecimal hash string for a number Gene Wirchenko <genew@ocis.net> - 2012-09-26 09:18 -0700
      Re: get hexadecimal hash string for a number markspace <-@.> - 2012-09-21 10:56 -0700
        Re: get hexadecimal hash string for a number Magnus Warker <warker@mailinator.com> - 2012-09-26 06:12 +0200
      Re: get hexadecimal hash string for a number Arne Vajhøj <arne@vajhoej.dk> - 2012-09-23 20:57 -0400

csiph-web