缩短文本代码

时间:2017-12-13 16:38:29

标签: cryptography

我的问题更多的是加密问题而不是编程。

我的代码各有5个字符,可以成对连接。结果是10个字符的代码。

问题是我必须存储这些值的数据库字段只有6个字符宽度,我不想调整它的大小。

是否有一种已知的方法或算法可以缩短价值对,从最多10个字符变为6个字符?结果可以由任何可打印的字符(最好是ASCII)组成,并且必须避免两个不同代码对的任何重复值。

另一个解决方案可能是将5个字符代码缩短为3个字符,但剩下的问题也是在成对连接时不允许重复。

谢谢你的任何想法。我尝试了几种解决方案(包括Base64编码!)但我的结果总是太长,或者它们包含重复的值。

1 个答案:

答案 0 :(得分:1)

这个问题与加密无关。它应该被标记为

有97个可打印的ASCII字符,因此您可以存储在6个字符中的最大信息量为39.6位(= 6×log 2 (97))。如果在10个字符中传播相同数量的信息,那么每个字符只能携带3.96位。这意味着您可以使用15个字符的字母表作为代码(例如,从A到O的大写字母)。