Hatena::Groupfreebsd

数と符号と計算機とFreeBSD このページをアンテナに追加 RSSフィード

 | 

2008-07-09

OpenSSLとhexdumpで,固定長の乱数を16進数表現で得る

| OpenSSLとhexdumpで,固定長の乱数を16進数表現で得る - 数と符号と計算機とFreeBSD を含むブックマーク はてなブックマーク - OpenSSLとhexdumpで,固定長の乱数を16進数表現で得る - 数と符号と計算機とFreeBSD OpenSSLとhexdumpで,固定長の乱数を16進数表現で得る - 数と符号と計算機とFreeBSD のブックマークコメント

固定長,例えば64桁(文字)の16進数を得たいとして:

$ openssl rand 32 | hexdump -e '1/1 "%02x"'

でOK?

ところで,opensslで生成する乱数を長くしてやると,このコマンドの出力にたまに「*」が混ざることがある.

これは何が原因なんだろう?もしかして,出力が間に合わないとか?:

$ openssl rand 100 | hexdump -e '1/1 "%02x"'
2a18008b863f4c7ebd372607dfaf2b63de2e6f*
11c2716338230916acf30698508ebbfabfd3313da1f0236ae110137fab1b7494959a3b4ae369262d5166ebfd02c4d186c162edc40098df905f15bf6c737f783f758575d6839bd4ab87442d6fd6497924

書式"x"はどうやら4バイトがデフォルトのようなので:

$ openssl rand 32 | hexdump -e '"%08x"'

でOKのようだ.しかも「*」が入ったりしない.

追記

ところが…

$ echo -n 012345678 | hexdump -e '"%08x"'
333231303736353400000038

という結果になる.

欲しいのは乱数なので気にはしないが,今のうちに順番通りに表示させる方法を調べておきますか.

$ echo -n 012345678 | hexdump -e '1/1 "%02x"'
303132333435363738

かな.

結局最初に似た感じに…

MateeMatee2011/07/25 23:24If information were soeccr, this would be a goooooal!

tugogodytugogody2011/07/26 02:32j4OIUT <a href="http://zhbugviyogkk.com/">zhbugviyogkk</a>

qqmxgyzqqmxgyz2011/07/26 21:15XbKPgE , [url=http://jhparfnasuno.com/]jhparfnasuno[/url], [link=http://nkmwmusctgib.com/]nkmwmusctgib[/link], http://rwrcohztowts.com/

tetsu3atetsu3a2013/12/19 17:36This article is very helpful to me.
But, use -v option of hexdump to avoid output "*".


thank you.

 |