Java 方法以简单的方式隐藏/加密人名(并解密)

Java 方法以简单的方式隐藏/加密人名(并解密),java,algorithm,Java,Algorithm,我希望用一些简单的东西来模糊人们的名字,防止外行在不创建长字符串的情况下轻松解密(只需多几个字符就可以了) 例如 Thomas --> U0Y71M George --> ELDP3N String name = "George"; String encodedString = Base64.getEncoder().encodeToString(name.getBytes()); System.out.println(encodedString); byte[] decodedB

我希望用一些简单的东西来模糊人们的名字,防止外行在不创建长字符串的情况下轻松解密(只需多几个字符就可以了)

例如

Thomas --> U0Y71M
George --> ELDP3N
String name = "George";
String encodedString = Base64.getEncoder().encodeToString(name.getBytes());
System.out.println(encodedString);
byte[] decodedBytes = Base64.getDecoder().decode(encodedString);
System.out.println(new String(decodedBytes));
我只是捏造了以上的事实。我可以将其反转,以便恢复原始文本

虽然我可以做一些事情,比如交换名称的ASCII码,创建一个映射,但这可能太容易了,以至于很难浏览几个名称并找出答案

还有什么需要更多努力才能解密的吗?

基本64编码很好:)

代码

Thomas --> U0Y71M
George --> ELDP3N
String name = "George";
String encodedString = Base64.getEncoder().encodeToString(name.getBytes());
System.out.println(encodedString);
byte[] decodedBytes = Base64.getDecoder().decode(encodedString);
System.out.println(new String(decodedBytes));
输出

R2Vvcmdl
George
参考

Thomas --> U0Y71M
George --> ELDP3N
String name = "George";
String encodedString = Base64.getEncoder().encodeToString(name.getBytes());
System.out.println(encodedString);
byte[] decodedBytes = Base64.getDecoder().decode(encodedString);
System.out.println(new String(decodedBytes));

也很容易检测。我认为“防止外行轻易解密”意味着这没问题。所以。。。你对外行的定义是运行Linux终端的人,他知道web请求的密码通常是如何编码的?当然它不是加密的,他没有要求。如果你想发布一个允许进行反向加密的答案,请自己给出一个解决方案:)。这非常适合我的要求,谢谢!名称上可以使用什么类型的字符?仅a-z+a-z或更高的ascii码,如周?思考一下:你为什么要这样做可能是件好事。如果你让用户认为信息没有公开,而事实上是这样,那就不是一件好事。