1

indexeddb の値を暗号化するために setSecret を実装しようとしていますが、エラーが発生します。

「未定義の setSecret メソッドを呼び出せません」

以下のコード:

 $(window).load(function () {

   //Database Schema
    var db_schema = {
    stores: [
        {
            name: "Employees",
        }
    ]
}

var secret = "Test";
db.setSecret(secret); 

    db = new ydn.db.Storage('Database', db_schema);

});

リンクをたどりますが、どこが間違っているのかわかりません。

以前に indexddb 値を暗号化した人はいますか?

ありがとう

4

2 に答える 2

0

ドキュメントの後ろに申し訳ありません。ドキュメントを更新しました。ここで、暗号化キーをデータベース オプションに入れる必要があります。

var schema = {
    version: 1,
    stores: [{
      name: 'encrypt-store',
      encrypted: true
    }]
};
var options = {
  Encryption: {
    expiration: 1000*15, //  optional data expiration in ms.
    secrets: [{
      name: 'aaaa',
      key: 'aYHF6vfuGHpfWSeRLrPQxZjS5c6HjCscqDqRtZaspJWSMGaW'
    }]
  }
};

var db = new ydn.db.Storage('encrypted-db-name', schema, options);

その機能を取得するには、 「-crypt」モジュールを使用する必要があります。sha256 暗号を使用した透過的なデータ暗号化、レコードごとのソルティングおよびキー ローテーションをサポートします。暗号化キーを生成してクライアントに安全に送信するには、サーバーが必要です。デモアプリもあります。

于 2013-11-06T15:53:36.160 に答える
0
//Database Creation
    //Database Schema
        var db_schema = {
            stores: [{
                name: "DataTable",
                encrypted: true
            }
            ]
        };

        var options = {
            Encryption: {
                //expiration: 1000 * 15, //  optional data expiration in ms.
                secrets: [{
                    name: 'aaaa',
                    key: 'aYHF6vfuGHpfWS*eRLrPQxZjSó~É5c6HjCscqDqRtZasp¡JWSMGaW'
                }]
            }
        };



        //Create the database with the relevant tables using the schema above
        db = new ydn.db.Storage('Database', db_schema,options);   


$.ajax({
                        type: "POST",
                        url: "/home/DownloadData",
                        data: { File: file },
                        success: function (result) {

                             var Key = result.Data.Key;
                             var DownloadedData= {
                                 Data: result.Data,
                                 Data1: result.Data1,
                                 Data2: result.Data2,
                                Data3: result.Data3
                             };
                             db.put('DataTable', DownloadedData, Key);
                             return false;
                        },
                        error: function (error) {
                            alert("fail");
                        }
                    });
于 2013-11-07T11:29:32.477 に答える