例如,给java这样的字符串“ u8tyuy8 + ==“(这是使用充气城堡的加密字符串)。我需要进行验证,例如给定的字符串是否为加密字符串? Java中是否存在任何方法?
答案 0 :(得分:2)
从理论上讲不可能确定给定的字符串是否已加密。您能做的最好的就是告诉它是否可以被加密。即便如此,这仍然取决于了解可能已经使用的加密方案(和Arminging 1 方案)。
正如RealSkeptic指出的那样,一种更好的方法是记录(在您的数据库中)字符串是否已加密,以及(如果需要)记录使用了哪些方案来加密和保护数据。
@Bucket评论:
如果没有明确的方法来判断它是否已加密,则尝试解密是没有风险的。
是的,尝试没有风险。 (特别是如果您捕获到任何可能的异常。)但是,不利的一面是,没有明确的方法可以告诉您是否成功解密了字符串 2 ,因此没有这样做可以取得很多成就。
1-我基于示例字符串猜测原始数据已加密,然后使用Base64编码或类似方式编码为ASCII。
2-... ...除非您还有要与之进行比较的原始未加密数据版本。