Encryption 客户提供的带dart/gcloud的加密密钥

Encryption 客户提供的带dart/gcloud的加密密钥,encryption,dart,google-cloud-storage,Encryption,Dart,Google Cloud Storage,使用将文件读写到Google云存储,是否可以提供客户提供的加密密钥 Dart gcloud库是建立在它之上的,它本身就是与云存储REST API接口的,但是它使用的HTTP客户端是如此抽象,以至于很难知道如何设置自定义加密所需的头。目前,该库中不支持自定义加密密钥 尽管接受http.Client。因此,您可以提供自己的客户机,该客户机添加标题,内容大致如下: import'package:http/http.dart'作为http; 导入“package:gcloud/storage.dart”

使用将文件读写到Google云存储,是否可以提供客户提供的加密密钥


Dart gcloud库是建立在它之上的,它本身就是与云存储REST API接口的,但是它使用的HTTP客户端是如此抽象,以至于很难知道如何设置自定义加密所需的头。

目前,该库中不支持自定义加密密钥

尽管接受http.Client。因此,您可以提供自己的客户机,该客户机添加标题,内容大致如下:

import'package:http/http.dart'作为http;
导入“package:gcloud/storage.dart”作为存储;
类ClientWithKeys扩展了http.client{
最终字符串加密算法;
最终字符串加密密钥;
最终字符串加密HA256;
使用密钥的客户端(此.encriptionAlgorithm,
这个.encriptionKey,
这是加密HA256);
未来发送(请求){
request.headers['x-goog-encryption-algorithm']=encryptionAlgorithm;
request.headers['x-goog-encryption-key']=encryptionKey;
request.headers['x-goog-encryption-key-sha256']=encryptionSHA256;
返回super.send(请求);
}
}
代码(){
最终客户端=具有密钥(“”、“”、“”)的新客户端;
最终api=新存储。存储(客户端“”);
...
client.close();
}