iterate values of hex string

Discussion in 'Ruby' started by eggie5, Sep 30, 2012.

  1. eggie5

    eggie5 Guest

    Can somebody please suggest a getter way of doing this?

    hmac = "0000000000000000000000000000000000000000"
    #40 is length of hmac
    #255 is values of each byte to try
    (0..40).step(2) do |i|
    (0..255).each do |j|
    hmac[i..i+1]="%02x" % j
    p hmac
    end
    end


    It just iterates all the values of a 20 byte array as a string from left to right. e.g.:

    000000000000000000000000000000000000000
    0100000000000000000000000000000000000000
    0200000000000000000000000000000000000000
    ..
    ..
    ..
    FD00000000000000000000000000000000000000
    FE00000000000000000000000000000000000000
    FF00000000000000000000000000000000000000
    ..
    ..
    ..
    FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
     
    eggie5, Sep 30, 2012
    #1
    1. Advertisements

  2. Did you mean "better"?
    (2**(20*8)).times {|x| printf "%040x\n", x}

    You get a different order though.

    What do you need that for?

    robert
     
    Robert Klemme, Sep 30, 2012
    #2
    1. Advertisements

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments (here). After that, you can post your question and our members will help you out.