Tumblr Facebook ВКонтакте linkedin Hatena Tweet LINE 카카오톡 Reddit Pocket Google+ 微博 Pinterest Email

77進数uuidを生成するスクリプトを書いてみる#プログラミング初歩

linuxでターミナルを開いて

uuid

と打つと出てくる128bit(2進数128桁)の数字であるが、0~9,a-fの16進数により32桁である。Linuxで/mediaディレクトリを見ればハードディスクにこの識別子が打たれているのがわかる。-v 1 は時間ベース、-v 4は乱数ベースである。

fで打ち止めは文字数的にもったいないのでzまでとA-Zまでの62進法にしてみた。いわゆるbase64では/が使われているが、言うまでもなくこれはディレクトリを示すものであるから、いろいろと不都合がある。77進法を試してみたものが以下のファイルだが、桁数としては1つ2つしか減らないので実用上あまり意味がない。また?など、ワイルドカードとしてbashに認識されてしまい使用に難のある文字もあることがわかる。

  • base62uuid4.sh
  • base64uuid4.sh
  • base77uuid4.sh
  • 使用例

    USER@PC:~$bash '/home/USER/Desktop/base77uuid4.sh'

    1P-MnVkbGGc!jL~W9%eD+

    USER@PC:~$bash '/home/USER/Desktop/base62uuid4.sh'

    FgCAXV2vtCpAHEkjzf6o3Q

    //
    ::
    //
    ::

    2019 B-AE.com All rights reserved.

    support @ b-ae.com

    Flag Counter