`
rayln
  • 浏览: 414987 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

Metro应用存储数据方法

 
阅读更多
save : function(key, value, callback) {
            var _usrBuffer;
            var _protectedUsr;

            var dataProtectionProvider = new Windows.Security.Cryptography.DataProtection.DataProtectionProvider('LOCAL=user');

            _usrBuffer = Windows.Security.Cryptography.CryptographicBuffer.convertStringToBinary(value, Windows.Security.Cryptography.BinaryStringEncoding.utf8);

            var _usrPromise = dataProtectionProvider.protectAsync(_usrBuffer);
            _usrPromise.done(function (buffer) {
                _protectedUsr = Windows.Security.Cryptography.CryptographicBuffer.encodeToBase64String(buffer);
            }, function (e) {
                var _e = e;
            });
            WinJS.Promise.join([_usrPromise]).then(function () {
                var localSettings = Windows.Storage.ApplicationData.current.localSettings;
                localSettings.values[key] = _protectedUsr;
                if (callback) {
                    callback();
                }
            });
        },
        load: function(key,callback){
            var localSettings = Windows.Storage.ApplicationData.current.localSettings;

            var _protectedUsr = localSettings.values[key];
            console.log("_protectedUsr:" + _protectedUsr);
            if (!_protectedUsr) {
                return;
            }
            if (_protectedUsr.trim() == '') {
                return;
            }

            var _usrBuffer;
            var value;

            var dataProtectionProvider = new Windows.Security.Cryptography.DataProtection.DataProtectionProvider();
            _usrBuffer = Windows.Security.Cryptography.CryptographicBuffer.decodeFromBase64String(_protectedUsr);
            var _usrPromise = dataProtectionProvider.unprotectAsync(_usrBuffer); 
            _usrPromise.done(function (buffer) {
                value = Windows.Security.Cryptography.CryptographicBuffer.convertBinaryToString(Windows.Security.Cryptography.BinaryStringEncoding.utf8, buffer); 
            }, function (e) {
                var _e = e;
            });

            var object; 
            WinJS.Promise.join([_usrPromise]).done(function () {
                if (callback) {
                    callback(value);
                }
            });
            return object;
        },
分享到:
评论

相关推荐

    《Windows Phone 7高级编程》随书源代码(2)

    第1章 metro与windows phone 第2章 免费的visual studio 2010 和 expression blend 4 第3章 按照“红线准则”...第16章 数据的存储与同步 第17章 框架 第18章 安全性 第19章 使用xna进行游戏开发 第20章 构建应用程序

    Windows Phone 7高级编程 源码 (一)

    第1章 metro与windows phone 第2章 免费的visual studio 2010 和 expression blend 4 第3章 按照“红线准则”...第16章 数据的存储与同步 第17章 框架 第18章 安全性 第19章 使用xna进行游戏开发 第20章 构建应用程序

    Fuzzing_模糊测试--强制性安全漏洞发掘

    23.4.6 数据存储 23.5 实例研究 23.5.1 测试策略 23.5.2 测试方法 23.6 益处和改进的余地 23.7 小结 第24章 智能故障检测 24.1 基本的错误检测方法 24.2 我们所要搜索的内容 24.3 选择模糊值时的注意事项 24.4 自动...

    《程序员》杂志2012年第7期

    本期封面报道,我们将从搜索技术、社交网络数据挖掘、机器翻译、推荐引擎等角度,结合具体应用,为你揭开智能算法的面纱。 (1)地图和本地搜索的最基本技术 (2)搜索引擎的查询意图识别 (3)社交网络:数据科学...

    Dism 10.0系统清理工具绿色版.rar

    Windows在下载更新以及更新Metro应用时会在这里产生临时安装包。一些程序为特定用户产生的临时文件,Intel、AMD以及Nvidia驱动在安装时留下的解压目录。windows报告当程序遇到某些问题时,系统会在这里留下稳定性...

    AppQuest3.0:我们的 AppQuest3.0 应用服务器

    node-GTFS 从加载交通数据,将其解压缩并存储到 MongoDB 数据库中,并提供一些方法来查询机构、路线、站点和时间。 它还具有空间查询功能,可用于查找附近的站点、路线和机构。 ##设置 git clone git@github....

    TFG-heart-rate-monitor:Pulsómetro红外线心率监测仪

    储存库结构 circuitos/ CAD和CAM文件 circuitos/eagle/图circuitos/eagle/电路图和PCB布局,使用鹰图 circuitos/kicad/辅助电路图,用于在原型阶段使用KiCad对固件进行编程 使用gschem的circuitos/spice/滤波器图,...

    ID3.NET MP3 Tagging Library-开源

    核心库是可移植的类库,与.NET Framework 4和更高版本,Silverlight 4和更高版本,Windows Phone 7.5和.NET for Metro风格应用程序兼容。 它还包含非便携式库,这些库提供了其他特定于平台的支持。 ID3.NET还提供了...

    WPS Office 2017 v10.1.0.6391 个人正式版.zip

    兼容免费,WPS Office个人版对个人用户永久免费,包含WPS文字、WPS表格、WPS演示三大功能模块,与MS Word、MS Excel、MS PowerPoint一一对应,应用XML数据交换技术,无障碍兼容doc.xls.ppt等文件格式,你可以直接...

    chrome.exe

    这样,在支付时,用户可以直接选择存储在浏览器上的数据,或者通过一个浏览器界面来输入新的支付信息,然后开发人员再继续他们现有的支付流程。 Chrome 31还新增了便携式本机客户端(PNaCl,Portable Native Client...

Global site tag (gtag.js) - Google Analytics