【发布时间】:2011-09-01 01:05:55
【问题描述】:
我需要能够在将文件存储到 S3 之前对其进行加密,然后在访问它们时对其进行解密。文件将是图像、文档、PDF 等。
我正在使用 Carrierwave 处理文件上传和存储(这是使用 Ruby on Rails)。我将它们存储在 Amazon S3 中。
有没有人这样做过,或者对如何实现这一点有任何想法?
谢谢。
【问题讨论】:
标签: ruby-on-rails encryption amazon-s3 carrierwave
我需要能够在将文件存储到 S3 之前对其进行加密,然后在访问它们时对其进行解密。文件将是图像、文档、PDF 等。
我正在使用 Carrierwave 处理文件上传和存储(这是使用 Ruby on Rails)。我将它们存储在 Amazon S3 中。
有没有人这样做过,或者对如何实现这一点有任何想法?
谢谢。
【问题讨论】:
标签: ruby-on-rails encryption amazon-s3 carrierwave
Amazon 现已发布可让您在 S3 中自动加密/解密文件的功能。不再需要自己做这件事。详情在这里http://docs.amazonwebservices.com/AmazonS3/latest/dev/index.html?UsingEncryption.html
【讨论】:
要处理加密,您应该考虑实现一个处理器。如果您使用任何其他处理器,则可能需要考虑扩展 Carrierwave gem 并添加处理器排序机制,以便确保最后发生加密。
对于解密,您可以覆盖现有的访问器以使解密透明,或者添加一个返回解密文件的新方法并使用该方法代替访问器。后一种方法可能更能适应上游变化。
【讨论】:
我知道这篇文章已经发布了几个月,但如果您仍在寻找答案,请查看我编写的carrierwave_securefile gem。它仍然是新的,在其他设置上可能有点错误,但它在上传之前使用 Crypt19 对文件进行 Blowfish 加密。
【讨论】: