Windows Phone实用开发技巧(31):密码加密

本文涉及的产品
密钥管理服务KMS,1000个密钥,100个凭据,1个月
简介:

 我们在实际开发的时候可能需要记住用户的信息,比如用户名与密码,通常的作用是在之后的网络请求中需要认证。密码是敏感信息,我们需要对其进行相应的加密后再存储到独立存储空间或者配置信息中。

在Windows Phone中有一个简单的API可以方便的实现字符串的界面,下面给出相应的demo:

程序的大致布局如下:有一个输入框用于输入要加密的字符串,点击加密按钮后,将输入的字符串进行相应的加密。点击解密按钮将刚刚加密的字符串进行解密。

image

我们使用的是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函数进行解密,注意如果在加密的时候提供了选项数组,那么在解密的时候也需要提供一样的字节数组。

你可以在这里找到本篇文章的源代码





     本文转自xshf12345 51CTO博客,原文链接:,http://blog.51cto.com/alexis/748785如需转载请自行联系原作者


相关文章
|
6天前
|
存储 缓存 Java
java语言后台管理ruoyi后台管理框架-登录提示“无效的会话,或者会话已过期,请重新登录。”-扩展知识数据库中密码加密的方法-问题如何解决-以及如何重置若依后台管理框架admin密码-优雅草卓伊凡
java语言后台管理ruoyi后台管理框架-登录提示“无效的会话,或者会话已过期,请重新登录。”-扩展知识数据库中密码加密的方法-问题如何解决-以及如何重置若依后台管理框架admin密码-优雅草卓伊凡
26 3
java语言后台管理ruoyi后台管理框架-登录提示“无效的会话,或者会话已过期,请重新登录。”-扩展知识数据库中密码加密的方法-问题如何解决-以及如何重置若依后台管理框架admin密码-优雅草卓伊凡
|
4月前
|
存储 Java 数据库
密码专辑:对密码加盐加密,对密码进行md5加密,封装成密码工具类
这篇文章介绍了如何在Java中通过加盐和加密算法(如MD5和SHA)安全地存储密码,并提供了一个密码工具类PasswordUtils和密码编码类PasswordEncoder的实现示例。
134 10
密码专辑:对密码加盐加密,对密码进行md5加密,封装成密码工具类
|
3月前
|
数据库 数据安全/隐私保护 Windows
Windows远程桌面出现CredSSP加密数据修正问题解决方案
【10月更文挑战第30天】本文介绍了两种解决Windows系统凭据分配问题的方法。方案一是通过组策略编辑器(gpedit.msc)启用“加密数据库修正”并将其保护级别设为“易受攻击”。方案二是通过注册表编辑器(regedit)在指定路径下创建或修改名为“AllowEncryptionOracle”的DWORD值,并将其数值设为2。
2017 3
|
4月前
|
NoSQL Java Redis
shiro学习四:使用springboot整合shiro,正常的企业级后端开发shiro认证鉴权流程。使用redis做token的过滤。md5做密码的加密。
这篇文章介绍了如何使用Spring Boot整合Apache Shiro框架进行后端开发,包括认证和授权流程,并使用Redis存储Token以及MD5加密用户密码。
73 0
shiro学习四:使用springboot整合shiro,正常的企业级后端开发shiro认证鉴权流程。使用redis做token的过滤。md5做密码的加密。
|
4月前
|
安全 算法 Java
数据库信息/密码加盐加密 —— Java代码手写+集成两种方式,手把手教学!保证能用!
本文提供了在数据库中对密码等敏感信息进行加盐加密的详细教程,包括手写MD5加密算法和使用Spring Security的BCryptPasswordEncoder进行加密,并强调了使用BCryptPasswordEncoder时需要注意的Spring Security配置问题。
278 0
数据库信息/密码加盐加密 —— Java代码手写+集成两种方式,手把手教学!保证能用!
|
5月前
|
存储 安全 算法
RSA在手,安全我有!Python加密解密技术,让你的数据密码坚不可摧
【9月更文挑战第11天】在数字化时代,信息安全至关重要。传统的加密方法已难以应对日益复杂的网络攻击。RSA加密算法凭借其强大的安全性和广泛的应用场景,成为保护敏感数据的首选。本文介绍RSA的基本原理及在Python中的实现方法,并探讨其优势与挑战。通过使用PyCryptodome库,我们展示了RSA加密解密的完整流程,帮助读者理解如何利用RSA为数据提供安全保障。
183 5
|
5月前
|
安全 数据安全/隐私保护 Python
情书也能加密?Python AES&RSA,让每一份数据都充满爱的密码
【9月更文挑战第8天】在这个数字化时代,情书不再局限于纸笔,也可能以电子形式在网络中传递。为了确保其安全,Python提供了AES和RSA等加密工具,为情书编织爱的密码。首先,通过安装pycryptodome库,我们可以利用AES对称加密算法高效保护数据;接着,使用RSA非对称加密算法加密AES密钥和IV,进一步增强安全性。即使情书被截获,没有正确密钥也无法解读内容。让我们用Python为爱情编织一张安全的网,守护每份珍贵情感。
69 2
|
安全 数据安全/隐私保护 Windows
windows重置密码不生效
针对windows重置密码不生效问题的详细排查
windows重置密码不生效
|
3天前
|
安全 网络安全 数据安全/隐私保护
Windows Server 2025 Active Directory 重置用户密码
密码重置是管理员日常任务之一,用户因忘记或多次输错密码导致账户锁定时需进行重置。本文介绍在Active Directory服务器上重置密码的三种方法。
|
2月前
|
安全 关系型数据库 MySQL
Windows Server 安装 MySQL 8.0 详细指南
安装 MySQL 需要谨慎,特别注意安全配置和权限管理。根据实际业务需求调整配置,确保数据库的性能和安全。
241 9