如何以加密形式上传文件

本文关键字:文件 形式上 加密 | 更新日期: 2023-09-27 18:11:51

我正在开发一个将文件上传到Amazon的应用程序。亚马逊提供了一个方法WithServerSideEncryptionMethod(ServerSideEncryptionMethod.AES256)加密文件,但它不工作。它将文本保存为纯文本。

public static void UploadFile()
{
    new Program();
    var key = "a";
    //key = ReplaceDblSlashToSingleFwdSlash(key);
    //path = ReplaceFwdSlashToBackSlash(path);
    var request = new PutObjectRequest();
    request.WithBucketName("demo")
           .WithContentBody("i am achal kumar")
           .WithKey(key)
           .WithServerSideEncryptionMethod(ServerSideEncryptionMethod.AES256);
    //request.PutObjectProgressEvent += displayFileProgress;
    S3Response response = s3Client.PutObject(request);
    response.Dispose();
}

如何以加密形式上传文件

您的数据可能是加密的,只是与您正在测试的get自动解密。

http://aws.typepad.com/aws/2011/10/new-amazon-s3-server-side-encryption.html

加密数据的解密不需要您付出任何努力。当你得到一个加密的对象,我们获取并解密密钥,然后用它来解密你的数据。类中还包含了一个额外的头文件响应GET,让您知道数据存储在哪里

您可以使用以下代码检查是否加密。因为aws s3在将对象返回给您时已经对其进行了解密。

所以尝试下面的代码来检查对象是否在amazon s3上加密

GetObjectMetadataRequest meta = new GetObjectMetadataRequest();
GetObjectMetadataResponse response = s3Client.GetObjectMetadata(meta);
if(response.ServerSideEncryptionMethod = ServerSideEncryptionMethod.AES256)
{
   // your code goes here
}

我希望这对你有帮助