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

かな.

結局最初に似た感じに…

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

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

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

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


thank you.

ゲスト



トラックバック - http://freebsd.g.hatena.ne.jp/TELL/20080709
 |