文档中心 > 服务器端加密
服务器端加密

最近更新时间:2022-07-25

UOS支持在服务器端对上传的数据进行加密编码。上传数据时,UOS对收到的用户数据进行加密,然后再将得到的加密数据持久化保存下来;下载数据时,UOS自动对保存的加密数据进行解密并把原始数据返回给用户,并在返回的HTTP请求Header中,声明该数据进行了服务器端加密。

您可以通过以下代码设置Bucket默认SSEC加密方式,设置成功之后,所有上传至该Bucket但未设置加密方式的Object都会使用Bucket默认加密方式进行加密:

package sample


import (
       "fmt"
       "github.com/journeymidnight/Yig-S3-SDK-Go/s3lib"
)

func PutObjectEncryptSample() {
       DeleteTestBucketAndObject()
       defer DeleteTestBucketAndObject()
       sc := s3lib.NewS3(endpoint, accessKey, secretKey)
       // Create a bucket
       err := sc.MakeBucket(bucketName)
       if err != nil {
               HandleError(err)
      }

       // 1. Put Encrypt Object With SSEC
       err = sc.PutEncryptObjectWithSSEC(bucketName, objectKey, "NewBucketAndObjectSample")
       if err != nil {
               HandleError(err)
      }

       result, err := sc.GetEncryptObjectWithSSEC(bucketName, objectKey)
       if err != nil {
               HandleError(err)
      }
       fmt.Println("Get Encrypt Object With SSEC: ", result)

       fmt.Printf("PutObjectEncryptSample Run Success !\n\n")
}