【问题标题】:How to Encrypt / Decrpyt files present in HDFS with GPG Encryption如何使用 GPG 加密对 HDFS 中存在的文件进行加密/解密
【发布时间】:2018-10-05 22:07:17
【问题描述】:

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

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

任何建议和代码都有帮助

【问题讨论】:

  • 为什么有这么多反对票?

标签: java scala apache-spark encryption gnupg


【解决方案1】:

我们实际上有使用 PGP 进行写入加密的生产流程。 您可以这样做的方法是设置加密编解码器。 不幸的是,AFAIK,没有准备好为 PGP/GPG 使用编解码器。 你可以使用这个:https://github.com/spotify/hadoop-openpgp-codec,但要注意它声明它不完整,不应该用于生产。 我们实际上以它为起点,并在 Scala 中为 spark 编写了自己的全部内容。不幸的是,它是为工作而完成的,我无法分享。 您还必须添加管理密钥的逻辑。我们只用它来加密,所以我们只是捆绑了公钥,但是为了解密,你必须管理你的私钥的安全性。

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

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

【讨论】:

    猜你喜欢
    • 2016-06-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-08-10
    • 1970-01-01
    • 2011-09-02
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多