【问题标题】:Need help regarding proper string encryption decryption需要有关正确字符串加密解密的帮助
【发布时间】:2011-09-19 11:10:40
【问题描述】:

我需要有关 java 中的字符串加密和解密的帮助我有长度为 16 的字符串我需要对其进行编码和解码,但我需要编码的字符串是字母数字和符号,只有用户可以从移动设备键入并且大小与纯文本相同,我尝试了 Md5 和 DES,但 MD5 只是一种方式,DES 编码的字符串不仅是字母数字,而且正确的符号尝试了其他一些方法,但没有找到正确的解决方案。

【问题讨论】:

标签: java android string encryption byte


【解决方案1】:

您可以将编码字符串的每个字符转换为其十六进制表示。在这种情况下,结果字符串将是字母数字。

【讨论】:

  • 是的,但是字符串的长度会增加吗?因为已经编码的字符串大小会很大,转换十六进制会增加长度
  • 我认为你不能在不增加长度的情况下将任何字符串转换为字母数字字符串。
  • 是的,但他们的方式是我可以先使用任何算法进行编码,以便可以压缩字节或长度并转换为 BASE64 或 HEX 吗?
  • 取决于字符串的内容。您不能确定任何字符串都可以被编码而不是扩展。如果您提供有关要编码的字符串的更多信息,也许我可以为您提供帮助。
【解决方案2】:

Vigenère cypher 可以限制为任何所需的字符集,并且密文的长度与明文的长度相同。它不如现代密码安全,但可用于低安全性应用程序。一个坚定的攻击者将能够打破 Vigenère。

【讨论】:

  • 嗯,我知道算法。它更容易破碎
  • @ud_an:如果您可以生成至少与明文一样长的真正随机密钥(伪随机),则可以使 Vigenère 牢不可破。而且您只使用该密钥一次。在这些条件下,Vigenère 成为 One Time Pad。任何微小的偏差,它都会再次破碎。
猜你喜欢
  • 2017-11-03
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-03-26
  • 2013-02-13
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多