草庐IT

zip伪加密

全部标签

java - 在 Java 中使用 AES 256 加密 RSA 私钥

我正在用Java编写一个安全的文件共享应用程序。总体架构如下所示:用户希望加密文件以在多个用户之间安全共享。应用程序在客户端生成一个随机UUID并将其用作AES256密码,并使用UUID加密数据。然后使用每个人的公钥对UUID进行RSA加密。每个共享用户一次。每个加密的UUID数据包都作为文件的一部分存储在自定义文件头中。然后文件会上传到其他人可以访问的服务器。每个用户都可以使用他们的私钥来读取AES加密key并解密文件。这里是陷阱。用户的私钥必须加密并存储在我们服务器的数据库中,以便可以从多个位置访问文件。在上传到服务器之前,私钥将使用客户端上用户选择的密码进行加密。我想使用AES2

java - 使用单个密码对象或两个不同的对象进行解密和加密操作?

如您所知,当我们要使用JavaCards进行密码学操作时,我们必须使用Cipher对象。我的问题实际上与效率有关。假设我想使用AESkey执行一些加密和解密操作。以下哪种策略更好?定义两个不同的Cipher对象并用一个key初始化它们,但模式不同(MODE_ENCRYPT和MODE_DECRYPT)。然后对于每个操作,我只需要在适当的对象上调用doFinal()方法。定义单个Cipher对象,每次调用doFinal()方法之前,使用适当的方法对该对象执行init()方法调用模式。 最佳答案 首先,根据Cipher.doFinal(.

java - 如果应用了 java 插件,Gradle 无法在复合构建中找到 zip Artifact

我有一个创建zipArtifact的Gradle项目。我通过artifacts.add('default',zipTask)定义Artifact。我通过includeBuild将此项目添加到另一个项目并使用zip作为依赖项(dependencies{myConfiguration'org.example:testA:+@zip'})。到目前为止,一切都很好。它有效。当我将插件java添加到第一个项目时,问题就开始了。出于某种原因,它会阻止Gradle找到zipArtifact。错误是:Executionfailedfortask':doubleZipTask'.>Couldnotres

c# - 在 C# 中使用 RSA 加密和在 Java 中解密时出现填充错误

目前,我在使用Java解密在C#中生成的Base64编码RSA加密字符串时收到以下错误:javax.crypto.BadPaddingException:NotPKCS#1blocktype2orZeropadding.NET和Java之间的交换设置过程是通过在.NETkeystore中创建私钥,然后从提取的PEM文件中创建的,使用keytool创建带有私钥的JKS版本。Java加载已经创建的JKS并将Base64字符串解码成字节数组,然后使用私钥解密。这是我在C#中创建加密字符串的代码:publicstringEncrypt(stringvalue){byte[]baIn=null;

java - java.util.zip.ZipFile.close() 什么时候抛出 IOException?

什么情况下会java.util.zip.ZipFile.close()抛出IOException?它的方法签名表明它可以被抛出,但从源代码来看,似乎没有任何地方可能发生这种情况,除非它是在native代码中。在捕获该异常时可以采取什么纠正措施(如果有)? 最佳答案 来自APIdocsonZipFile.close():ClosingthisZIPfilewillclosealloftheinputstreamspreviouslyreturnedbyinvocationsofthegetInputStreammethod.和Inpu

zip64 的 java 库

目前在Java中使用zip64的最佳库是什么?我需要压缩和解压缩大于4GB的文件/目录。我读到Java7支持zip64。但是我想如果我为Java7开发这只有在所有安装该应用程序的计算机都具有Java7JRE的情况下才有效?这个对吗?目前我正在使用http://sourceforge.net/projects/zip64file/.但在这里我想知道这是否仍然是最好的选择?我想要一个支持开箱即用的目录压缩库。现在我必须自己遍历目录结构。 最佳答案 还有ApacheCommonsCompress支持Zip64格式。

java - 在java中使用AES有效加密文件

我正在开发一个应该加密一些小文件(小于1MB)和大文件(大约500MB)的应用程序。如何加密文件并将加密版本有效地保存在磁盘上的某个位置(即快速)?如果花时间我可以有加密进度吗? 最佳答案 假设您有一个AESkey和一些输出流,下面介绍了如何向流中添加加密装饰器。Cipherenc=Cipher.getInstance("AES/CBC/PKCS5Padding");enc.init(Cipher.ENCRYPT_MODE,key);AlgorithmParametersparams=enc.getParameters();IvPa

java - 如何为 "virtual files"列表创建 ZIP 文件并输出到 httpservletresponse

我的目标是将多个java.io.File对象放入一个zip文件并打印到HttpServletResponse以供用户下载。这些文件是由JAXB编码器创建的。它是一个java.io.File对象,但它实际上不在文件系统上(它只在内存中),所以我无法创建FileInputStream。我见过的所有资源都使用OutputStream打印zip文件内容。但是,所有这些资源都使用FileInputStream(我不能使用)。有人知道我怎样才能做到这一点吗? 最佳答案 看看ApacheCommonsCompress库,它提供了您需要的功能。当然

Java 加密内存类加载器

我会开门见山,这样您就不必阅读很多书了。基本上,我有一个AES-128位加密的Jar文件。我想制作一个启动器,以便我可以将这个加密的Jar加载到内存中并运行它(使用key)。我有一个简单的类加载器在工作,但除非我将它解密到一个目录并运行它,否则它显然不会执行我需要的操作(解密和内存加载)。TL;DR:我需要在内存中运行AES-128位加密Jar。非常感谢任何帮助,请随时提问! 最佳答案 有关如何从byte[]加载jar/class的示例代码(这应该是您在内存中解密后得到的结果/无需将其保存在文件系统中的任何位置)参见http://w

java - 如何使用 Java 加密 PDF?

我一直在尝试使用Java加密PDF。到目前为止,我可以成功加密其他文件类型(.txt、.png等)。当我使用PDF进行解密时,它会破坏in中的信息。这是我用来加密它的:publicbyte[]cryptograph(Keykey,byte[]content){Ciphercipher;byte[]cryptograph=null;try{cipher=Cipher.getInstance("AES/ECB/PKCS5Padding");cipher.init(Cipher.ENCRYPT_MODE,key);cryptograph=cipher.doFinal(content);}ca