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;
},
分享到:
相关推荐
第1章 metro与windows phone 第2章 免费的visual studio 2010 和 expression blend 4 第3章 按照“红线准则”...第16章 数据的存储与同步 第17章 框架 第18章 安全性 第19章 使用xna进行游戏开发 第20章 构建应用程序
第1章 metro与windows phone 第2章 免费的visual studio 2010 和 expression blend 4 第3章 按照“红线准则”...第16章 数据的存储与同步 第17章 框架 第18章 安全性 第19章 使用xna进行游戏开发 第20章 构建应用程序
23.4.6 数据存储 23.5 实例研究 23.5.1 测试策略 23.5.2 测试方法 23.6 益处和改进的余地 23.7 小结 第24章 智能故障检测 24.1 基本的错误检测方法 24.2 我们所要搜索的内容 24.3 选择模糊值时的注意事项 24.4 自动...
本期封面报道,我们将从搜索技术、社交网络数据挖掘、机器翻译、推荐引擎等角度,结合具体应用,为你揭开智能算法的面纱。 (1)地图和本地搜索的最基本技术 (2)搜索引擎的查询意图识别 (3)社交网络:数据科学...
Windows在下载更新以及更新Metro应用时会在这里产生临时安装包。一些程序为特定用户产生的临时文件,Intel、AMD以及Nvidia驱动在安装时留下的解压目录。windows报告当程序遇到某些问题时,系统会在这里留下稳定性...
node-GTFS 从加载交通数据,将其解压缩并存储到 MongoDB 数据库中,并提供一些方法来查询机构、路线、站点和时间。 它还具有空间查询功能,可用于查找附近的站点、路线和机构。 ##设置 git clone git@github....
储存库结构 circuitos/ CAD和CAM文件 circuitos/eagle/图circuitos/eagle/电路图和PCB布局,使用鹰图 circuitos/kicad/辅助电路图,用于在原型阶段使用KiCad对固件进行编程 使用gschem的circuitos/spice/滤波器图,...
核心库是可移植的类库,与.NET Framework 4和更高版本,Silverlight 4和更高版本,Windows Phone 7.5和.NET for Metro风格应用程序兼容。 它还包含非便携式库,这些库提供了其他特定于平台的支持。 ID3.NET还提供了...
兼容免费,WPS Office个人版对个人用户永久免费,包含WPS文字、WPS表格、WPS演示三大功能模块,与MS Word、MS Excel、MS PowerPoint一一对应,应用XML数据交换技术,无障碍兼容doc.xls.ppt等文件格式,你可以直接...
这样,在支付时,用户可以直接选择存储在浏览器上的数据,或者通过一个浏览器界面来输入新的支付信息,然后开发人员再继续他们现有的支付流程。 Chrome 31还新增了便携式本机客户端(PNaCl,Portable Native Client...