有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java如何使用GPG加密对HDFS中的文件进行加密/解密

我想写一个作业(在Spark/JAVA中),它应该执行加密和解密HDFS中的文件,而不必使用GPG复制回本地

我有其他人的公钥来加密文件,我的私钥来解密其他人的文件。而加密输入文件是。gpg格式和同时解密输出文件应为。gpg

任何建议和代码都是有用的


共 (1) 个答案

  1. # 1 楼答案

    我们实际上有使用PGP进行写加密的生产流程。 方法是设置加密编解码器。 不幸的是,AFAIK没有现成的PGP/GPG编解码器。 您可以使用这个:https://github.com/spotify/hadoop-openpgp-codec,但请注意它指出它不完整,不应用于生产。 实际上,我们把它作为起点,用Scala为spark编写了我们自己的all。不幸的是,这是为了工作而做的,我不能分享。 您还必须添加逻辑来管理密钥。我们只使用它来加密,所以我们只是捆绑公钥,但为了解密,您必须管理私钥的安全性

    一旦您在spark作业中准备好并编译了编解码器,您就可以让spark自动加密和解密,如下所示:

        context.hadoopConfiguration.set("mapreduce.output.fileoutputformat.compress", "true")
        context.hadoopConfiguration.set("mapreduce.output.fileoutputformat.compress.codec", "com.spotify.hadoop.openpgp.OpenPgpCodec")