【问题标题】:Encrypt in Sqlserver using 3des and decrypt using javaSqlserver 中使用 3des 加密,使用 java 解密
【发布时间】:2015-12-04 00:11:31
【问题描述】:

是否可以解密使用 3DES 算法在 sql server 中加密的文件?

如果我使用 java 加密并保存到 sqlserver,那么我可以毫无问题地解密..

sqlserver和java的加密方式有区别吗?

【问题讨论】:

  • 你为什么要这样做?
  • 感谢您的回复...,因为 sqlserver 数据库中已经有文件并且它是从数据库端加密的..所以我需要解密文件并在 java 前端查看。
  • 您不想在数据库中加密,因为如果有人拦截了程序和数据库之间的请求,他们将拥有您试图在数据库中以明文形式加密的任何内容,从而消除了加密。

标签: java 3des


【解决方案1】:

您需要使用相同的实现、密钥、长度、链接模式、初始化向量等。如果算法的任何配置不同,它将无法成功解密,这是设计使然。

如果您对上述所有内容都使用相同的方法,理论上您可以使用纸和铅笔进行解密。任何不同,您都在寻找数百万年的计算能力来破解它。

ps:如果您希望它更快、更安全,请使用 AES。三重 DES(顾名思义)使用三遍常规 DES 加密,这比单遍更现代的 AES 加密要慢得多。

【讨论】:

  • 感谢您的快速回复.. iam 使用相同的密钥和在 sql server 中使用的模式,但 iam 没有使用 sql server 的加密证书...这个 iam 是否丢失,我没有知道如何在java代码中使用证书。
  • 哦,我没想到会有证书!这种 PGP 风格的加密是不是密钥和签名等也是非对称完成的?如果是这样,解决方案会稍微复杂一些,因为您需要有某种证书信任链。
  • 我们在 sqlserver 中有文件,这些 pdf 文件在 sqlserver 中使用“TRIPLE_DES ENCRYPTION”加密,我需要使用相同的算法在 java 中解密。
【解决方案2】:

由于易用性和它提供的安全性,您将希望在 Java 中进行加密和解密。同样如前所述,AES 更快、更安全。尽管三重 DES 仍在安全范围内,但计算时间却很长。

【讨论】:

    猜你喜欢
    • 2010-09-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-12-11
    • 2013-01-13
    相关资源
    最近更新 更多