gpt4 book ai didi

java - 从共享路径读取文件,身份验证为 Java.io.File

转载 作者:行者123 更新时间:2023-12-02 03:07:20 24 4
gpt4 key购买 nike

我有一个加密类(PGP Encryption util),它只接受 java.io.File 对象。用于加密的内部方法(位于 jar 中)仅接受 java.io.File 作为参数。

我需要从共享路径读取一个文件,其中身份验证需要访问和加密同一文件并写回同一共享路径。所以我使用 jcifs 来读取文件。它将文件读取为 SmbFile 格式。

我有两个疑问

1) 是否可以将 SmbFile 转换为 java.io.File,而不将内容写入实际文件(甚至不是临时文件)?并将 File 对象传递给文件加密方法,如下所示。

File someFile = ConvertSmbFileToFile(SmbFile smb);
pgpEncryptionService.encryptFile(someFile,true);

2) 如果上述不可能,是否可以使用 SmbFile 类型作为输入进行 PGP 加密?有人可以分享相关链接吗?

我的项目安全性只希望加密的文件通过网络传输。因此,将 SmbFile 写入 java.io.File 似乎不是一个选择。即使写入临时文件也就像允许未加密的数据通过网络层传输一样。所以临时文件也超出了范围。

最佳答案

SMB 3 及更高版本 (3.1.1) 支持加密/解密,因此您可以使用支持这些 SMB 方言的 SMB 库。 (SMB 3支持ccm算法,3.1.1支持gcm)您只需确保另一台主机支持SMB3及以上版本即可。

如果我没记错的话,只有 Visuality Systems jNQ产品支持这些 SMB 方言。

我认为 jCIFS 和 jNQ 支持 OutStreamInputStream 所以也许你可以使用它而不是 java.io.file

祝你好运

关于java - 从共享路径读取文件,身份验证为 Java.io.File,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57016855/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com