如何在Java程序中查找给定的字符串是否为加密字符串?

时间:2018-07-17 13:58:28

标签: java

例如,给java这样的字符串“ u8tyuy8 + ==“(这是使用充气城堡的加密字符串)。我需要进行验证,例如给定的字符串是否为加密字符串? Java中是否存在任何方法?

1 个答案:

答案 0 :(得分:2)

从理论上讲不可能确定给定的字符串是否已加密。您能做的最好的就是告诉它是否可以被加密。即便如此,这仍然取决于了解可能已经使用的加密方案(和Arminging 1 方案)。

正如RealSkeptic指出的那样,一种更好的方法是记录(在您的数据库中)字符串是否已加密,以及(如果需要)记录使用了哪些方案来加密和保护数据。


@Bucket评论:

  

如果没有明确的方法来判断它是否已加密,则尝试解密是没有风险的。

是的,尝试没有风险。 (特别是如果您捕获到任何可能的异常。)但是,不利的一面是,没有明确的方法可以告诉您是否成功解密了字符串 2 ,因此没有这样做可以取得很多成就。


1-我基于示例字符串猜测原始数据已加密,然后使用Base64编码或类似方式编码为ASCII。

2-... ...除非您还有要与之进行比较的原始未加密数据版本。