Windows Phone实用开发技巧(31):密码加密
程序员文章站
2022-05-18 18:15:16
我们在实际开发的时候可能需要记住用户的信息,比如用户名与密码,通常的作用是在之后的网络请求中需要认证。密码是敏感信息,我们需要对其进行相应的后再存储到独立存储空间或者配置信息中。
在windows...
我们在实际开发的时候可能需要记住用户的信息,比如用户名与密码,通常的作用是在之后的网络请求中需要认证。密码是敏感信息,我们需要对其进行相应的后再存储到独立存储空间或者配置信息中。
在windows phone中有一个简单的api可以方便的实现字符串的界面,下面给出相应的demo:
程序的大致布局如下:有一个输入框用于输入要加密的字符串,点击加密按钮后,将输入的字符串进行相应的加密。点击解密按钮将刚刚加密的字符串进行解密。
我们使用的是sdk中自带的加密类:protecteddata
加密按钮的处理事件如下:将输入的字符串转换为字节数组,然后使用protecteddata以及预先定义的字节数组进行加密,加密后得到的也是一个字节数据,我们可以使用convert.tobase64string得到其对应的字符串:
private void button1_click(object sender, routedeventargs e)
{
byte[] input = system.text.encoding.utf8.getbytes(textbox1.text);
string result=convert.tobase64string(protecteddata.protect(input, opt));
textblock3.text = result;
}
预先定义的字节数组如下:
byte[] opt = new byte[] { 1, 2, 4, 8, 16 };
再来看下解密按钮的处理事件:
private void button2_click(object sender, routedeventargs e)
{
if (string.isnullorempty(textblock3.text))
{
messagebox.show("请先加密");
return;
}
byte[] output=convert.frombase64string(textblock3.text);
byte[] en=protecteddata.unprotect(output, opt);
textblock2.text = system.text.encoding.utf8.getstring(en, 0, en.length);
}
首先获取加密后的字符串对应的字节数组,然后使用unprotect函数进行解密,注意如果在加密的时候提供了选项数组,那么在解密的时候也需要提供一样的字节数组。
你可以在这里找到本篇文章的源代码
作者:alexis
在windows phone中有一个简单的api可以方便的实现字符串的界面,下面给出相应的demo:
程序的大致布局如下:有一个输入框用于输入要加密的字符串,点击加密按钮后,将输入的字符串进行相应的加密。点击解密按钮将刚刚加密的字符串进行解密。
我们使用的是sdk中自带的加密类:protecteddata
加密按钮的处理事件如下:将输入的字符串转换为字节数组,然后使用protecteddata以及预先定义的字节数组进行加密,加密后得到的也是一个字节数据,我们可以使用convert.tobase64string得到其对应的字符串:
private void button1_click(object sender, routedeventargs e)
{
byte[] input = system.text.encoding.utf8.getbytes(textbox1.text);
string result=convert.tobase64string(protecteddata.protect(input, opt));
textblock3.text = result;
}
预先定义的字节数组如下:
byte[] opt = new byte[] { 1, 2, 4, 8, 16 };
再来看下解密按钮的处理事件:
private void button2_click(object sender, routedeventargs e)
{
if (string.isnullorempty(textblock3.text))
{
messagebox.show("请先加密");
return;
}
byte[] output=convert.frombase64string(textblock3.text);
byte[] en=protecteddata.unprotect(output, opt);
textblock2.text = system.text.encoding.utf8.getstring(en, 0, en.length);
}
首先获取加密后的字符串对应的字节数组,然后使用unprotect函数进行解密,注意如果在加密的时候提供了选项数组,那么在解密的时候也需要提供一样的字节数组。
你可以在这里找到本篇文章的源代码
作者:alexis
上一篇: 专家支招破解云计算落地难题
推荐阅读
-
Windows Phone实用开发技巧(31):密码加密
-
Windows Phone 实用开发技巧(29):动态绑定Pivot
-
Windows Phone实用开发技巧(32):照片角度处理
-
Windows Phone实用开发技巧(33):不重启程序切换当前语言
-
Windows Phone 7 开发 31 日谈——第9日:调试技巧
-
Windows Phone 实用开发技巧(2):使用TombstoneHelper简化墓碑操作
-
Windows Phone实用开发技巧(1):保存图片及加载图片
-
Windows Phone 实用开发技巧(17):自定义应用程序的Tile
-
Windows Phone 实用开发技巧(3):输入框自动聚焦并打开SIP
-
Windows Phone 实用开发技巧(25):Windows Phone读取本地数据