【问题标题】:Encode String of 20 characters to 8 characters, and Decode it back将 20 个字符的字符串编码为 8 个字符,然后将其解码回来
【发布时间】:2020-06-01 14:59:12
【问题描述】:

我想知道一种将 20 个字符的纯文本编码为 8 个字符的密码并将其解码回 20 个字符的方法。

可能的组成字符是:

与 HexaDecimal 数字一样,字符的范围是 '0 到 F',对于我们的 PlainText,它的范围是 '0 - A'(以 11 为基数)。

所需的密码只能是字母和数字的组合。里面不应该有符号。

我想要一种压缩技术甚至是一个程序对上述要求的编码和解码都更有帮助。

谢谢!

【问题讨论】:

    标签: encryption cryptography compression decode encode


    【解决方案1】:

    我认为这是不可能的。 11^20 (672749994932560009201) 大于 36^8 (2821109907456)。 (11 表示“0-A”的计数,36 表示“A-Z”和“0-9”的计数)。 至少 238469969 (11^20/36^8) 的计划文本将被编码为相同的输出。

    【讨论】:

    • 您忽略了可以同时使用大小写字母,即您应该将 11**20 与 62**8 进行比较。
    • 我正在使用 SHA-256 加密算法。我了解到,无论明文的长度是多少,密码的长度,即哈希文本始终是 64 字节。所以我只想到了上述加密的这个想法。
    • 256^64 已经够大了,散列只表示编码不解码。 (哈希从不提供解码算法,你无法解码哈希值。)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-11-16
    • 2011-08-09
    • 2012-05-06
    • 1970-01-01
    相关资源
    最近更新 更多