我想将某些信息(例如构建的日期和时间以及SVN修订版)编码为可逆的字母数字字符串,以便我可以轻松识别构建(除了维护已知构建的表)。
我不知道如何解决这个问题。你能指点我相关的算法,命令等对我有帮助吗?
答案 0 :(得分:1)
如果您不需要它太短,请使用Base64 encoding。
$ echo $(date +%s)-r3749 | base64
MTM1ODg4MzA3MS1yMzc0OQo=
$ echo MTM1ODg4MzA3MS1yMzc0OQo= | base64 --decode
1358883071-r3749
这里我使用了Epoch time,因为它的字符少于完整日期。由于它是一个数字,并且SVN修订版也是一个数字,您也可以使用不同的基数对它们进行编码。使用this Base 62 encoding function,您可以将(日期,修订版)对1358883071-r3749
可逆地编码为1tXJyT,Yt
但Base64可能足够短,而且非常简单。