我们有从1到999999的数字,我们需要用一个简单的算法来加密。加密的输出应该是人类可读的字符( and,0-9),并且不超过6位数字。
用简单的算法可以将数字123456加密到例如GH6ZT3,然后再将GH6ZT3解密为123456吗?
我只能找到Base32或Base64加密的例子,但是加密的输出要比6位数大得多:-(
发布于 2016-01-19 10:58:28
如果你加密,你想要一个人类非可读的方式来表示数字。
要做你想做的事,你应该改变数字的基数。十六进制的东西(基数16)应该会产生一些好的效果。试试另一个基地,作为20。
看看:在Java中,如何将十进制数转换为基数36?
或者,您可以选择一个经典克里米亚图,就像在古罗马中一样。但你需要改变一个人的钥匙,将阅读。一个键,意思是混合数字的任何单词。
https://stackoverflow.com/questions/34874894
相似问题