Java 需要关于正确的字符串加密和解密的帮助吗

Java 需要关于正确的字符串加密和解密的帮助吗,java,android,string,encryption,byte,Java,Android,String,Encryption,Byte,我需要关于java中字符串加密和解密的帮助我有长度为16的字符串我需要对其进行编码和解码,但我需要编码的字符串为字母数字和符号,用户只能从手机中键入,大小与纯文本相同我尝试了Md5和DES,但Md5是单向的,DES编码的字符串不仅仅是字母数字和正确的符号尝试了其他一些方法,但没有找到正确的解决方案。您可以将编码字符串的每个字符转换为其十六进制表示形式。在这种情况下,生成的字符串将是字母数字。可以限制为任何所需的字符集,并且密码文本的长度与纯文本相同。它不像现代密码那样安全,但在低安全性应用中有用

我需要关于java中字符串加密和解密的帮助我有长度为16的字符串我需要对其进行编码和解码,但我需要编码的字符串为字母数字和符号,用户只能从手机中键入,大小与纯文本相同我尝试了Md5和DES,但Md5是单向的,DES编码的字符串不仅仅是字母数字和正确的符号尝试了其他一些方法,但没有找到正确的解决方案。

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

可以限制为任何所需的字符集,并且密码文本的长度与纯文本相同。它不像现代密码那样安全,但在低安全性应用中有用途。坚定的攻击者将能够破解Vigenère。

@nik:Playfair是不可逆的,因为它会添加额外的字符来破解对。是吗?但字符串的长度会增加吗?由于编码字符串的大小将变大,转换十六进制将增加长度,我认为在不增加长度的情况下,无法将任何字符串转换为字母数字字符串。是的,但我可以先使用任何算法进行编码,以便压缩字节或长度并转换为BASE64或十六进制?这取决于字符串的内容。您无法确保任何字符串都可以被编码和扩展。如果你能提供更多关于你想编码的字符串的信息,也许我能帮助你。更可能breakable@ud_an:Vigenère可以变得不可破解,如果您可以生成一个至少与明文一样长的真随机密钥(不是伪随机密钥)。你只能用那把钥匙一次。在这种情况下,维格纳就成了一次性的Pad。任何微小的偏差,它是易碎的。