1

ビルドの日時や SVN リビジョンなどの特定の情報を可逆的な英数字の文字列にエンコードして、ビルドを簡単に識別できるようにしたいと考えています (既知のビルドのテーブルを維持することに加えて)。

どうすればいいのかわかりません。これに役立つ関連アルゴリズム、コマンドなどを教えてもらえますか?

4

1 に答える 1

1

短すぎる必要がない場合は、Base64 エンコーディングを使用してください。

$ echo $(date +%s)-r3749 | base64
MTM1ODg4MzA3MS1yMzc0OQo=
$ echo MTM1ODg4MzA3MS1yMzc0OQo= | base64 --decode
1358883071-r3749

ここでは、完全な日付よりも文字数が少ないため、エポック時間を使用しました。これは数値であり、SVN リビジョンも数値であるため、別の基数を使用してエンコードすることもできます。この Base 62 エンコーディング関数を使用すると、(日付、リビジョン) ペア1358883071-r3749を次のように可逆的にエンコードできます。1tXJyT,Yt

しかし、Base64 はおそらく十分に短く、非常に簡単です。

于 2013-01-22T19:32:42.413 に答える