2015-10-17 55 views
-1

使用我有一个包含以下文本的哪种加密库,这里

[Settings] 
IP=LF5ITzfFWttFqp1JwS3yig== 
DATABASE=3Oulto+YrEerz3//yLacbEYGlcue8+kv41dAyqHxxKI= 
USER=mEjikdSuE2+78JsA7atxhw== 
PASSWORD=kXnsw31pVdtj+LU9vZ7qPQ== 

我知道,JAVA应用程序读取解密它这种配置和处理它的Settings.ini文件。请谁能帮我找出JAVA可以用来解密此类型的文本或使用何种库这种加密。

+0

评论应该赞赏的情况下投票 – Sujit

+2

我投票结束这个问题作为离题,因为它是不可能确定哪个算法或库产生这个输出,因为密文和哈希输出应该是无法区分的随机噪声,并有*无限*其中许多。我们不是来玩[猜谜游戏](https://blog.stackexchange.com/2012/02/lets-play-the-guessing-game/)。 –

回答

3

这里没有大量的信息去那里。

  • 的数据是base64编码(由所用的字母和在结束时==填充识别),但是,因为它进行解码,以这似乎是随机二进制数据这似乎是下方加密。
  • 的“IP”,“使用者”和“密码”字段是16个字节长,这表明我们在寻找具有128位的块大小对称密码和,它的使用固定IV和没有消息完整性检查。 (带有一个IV块或MAC块A的64位的密码也是可能的,但不太可能,因为这将需要明文为至多8个字节;而它不是不合理的用户名和密码为8个字节或更少,如何通常是否有人使用整数符号表示IP地址而不是点分十进制?)
  • “DATABASE”字段的长度为32个字节,这与128位分组密码的假设与固定的IV和完整性一致检查。

128位分组密码很可能是AES。没有完整性检查的固定IV(其是一种不安全的做法加密)建议ECB模式。 (从技术上说,ECB模式不使用IV在所有。)但是拿到钥匙的唯一方法是检查使用该数据的软件。如果您对其进行反汇编,您应该能够同时获得密钥并确认加密的执行方式。

至于使用的软件,有各种可以解密AES-ECB的Java加密库。尝试查看javax.crypto类。或Bouncycastle图书馆。