我想将某些信息(例如构建的日期和时间以及 SVN 修订版)编码为可逆的字母数字字符串,以便我可以轻松识别构建(除了维护已知构建表)。
我不知道该怎么做。您能否指出对我有帮助的相关算法、命令等?
我想将某些信息(例如构建的日期和时间以及 SVN 修订版)编码为可逆的字母数字字符串,以便我可以轻松识别构建(除了维护已知构建表)。
我不知道该怎么做。您能否指出对我有帮助的相关算法、命令等?
如果您不需要太短,请使用Base64 编码。
$ echo $(date +%s)-r3749 | base64
MTM1ODg4MzA3MS1yMzc0OQo=
$ echo MTM1ODg4MzA3MS1yMzc0OQo= | base64 --decode
1358883071-r3749
在这里,我使用了Epoch 时间,因为它的字符数少于完整日期。因为它是一个数字,而 SVN 版本也是一个数字,您也可以使用不同的基数对它们进行编码。使用这个 Base 62 encoding function,您可以将 (date, revision) 对可逆地编码1358883071-r3749
为1tXJyT,Yt
但是 Base64 可能足够短,而且超级简单。