Win 8 加密解密操作,运行时保存值(Session)

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

   今天主要学习了Win 8 加密解密操作,运行时保存值(Session)的功能,我这里只是学习写了一些简单的东西,

并记录下,方便自己以后再次学习。希望园子里的朋友能多多指教,我也是一名Win 8 初学者。

一、加密解密操作,要用到Windows.Security.Cryptography.DataProtection命名空间下的DataProtectionProvider类,

Win 8 加密解密操作关键代码:inputFile是要未加密的文件,outputFile是加密后的文件(保存/生成出来的新文件)。

复制代码
        private async Task EncryptAsync(IStorageFile inputFile, IStorageFile outputFile)
        {
            if (inputFile == null || outputFile == null) return;
            try
            {
                IRandomAccessStream inputstr = await inputFile.OpenAsync(FileAccessMode.Read);
                IRandomAccessStream outputstr = await outputFile.OpenAsync(FileAccessMode.ReadWrite);

                DataProtectionProvider dp = new DataProtectionProvider("LOCAL=user");
                await dp.ProtectStreamAsync(inputstr, outputstr);
                inputFile = null;
                outputFile = null;
            }
            catch (Exception) { }           
        }
复制代码

 

inputFile是要已加密的文件,outputFile是空文件(保存/生成出来的新文件)。

复制代码
        private async Task DecipheringAsync(IStorageFile inputFile, IStorageFile outputFile)
        {
            if (inputFile == null || outputFile == null) return;
            try
            {
                IRandomAccessStream inputstr = await inputFile.OpenAsync(FileAccessMode.Read);
                IRandomAccessStream outputstr = await outputFile.OpenAsync(FileAccessMode.ReadWrite);
                DataProtectionProvider dp = new DataProtectionProvider();
                await dp.UnprotectStreamAsync(inputstr, outputstr);
                inputFile = null;
                outputFile = null;
            }
            catch (Exception){}         
        }
复制代码

 

 二、运行时数据的保存,类似于Asp.net的Session功能。

1、设计界面:

复制代码
    <Grid Background="{StaticResource ApplicationPageBackgroundThemeBrush}">
        <Button Content="OK" HorizontalAlignment="Left" Margin="535,65,0,0" VerticalAlignment="Top" RenderTransformOrigin="0.92,0.489" Click="OK_Click"/>
        <TextBox x:Name="sessionTxt" HorizontalAlignment="Left" Margin="277,65,0,0" TextWrapping="Wrap"  VerticalAlignment="Top" Width="234"/>
        <TextBlock HorizontalAlignment="Left" Margin="0,65,0,0" TextWrapping="Wrap" Text="请输入Session的值" FontSize="30" VerticalAlignment="Top"/>
        <Frame x:Name="curFrame"   Margin="10,135,0,0" HorizontalAlignment="Stretch" VerticalAlignment="Stretch"/>

    </Grid>
复制代码

2、关键代码:使用Windows.ApplicationModel.Core.CoreApplication类下的Properties保存值。 然后Frame指向SecondPage.xaml页。

复制代码
        private void OK_Click(object sender, RoutedEventArgs e)
        {
            if (string.IsNullOrEmpty(sessionTxt.Text) == false)
            {
                Windows.ApplicationModel.Core.CoreApplication.Properties["firstText"] = sessionTxt.Text;
                curFrame.Navigate(typeof(SecondPage));
            }
        }
复制代码

3、获取保存的值。在SecondPage.xaml页中获取保存的值。

复制代码
        private void GetSessionValue()
        {
            if (Windows.ApplicationModel.Core.CoreApplication.Properties.ContainsKey("firstText"))
            {
                SessionTxt.Text = Windows.ApplicationModel.Core.CoreApplication.Properties["firstText"].ToString();
            }
        }
复制代码

效果图:

 

保存值总结:保存值类似于Asp.net的session功能,当程序退出时,值消失。只有在运行时才保存值。 


本文转自Work Hard Work Smart博客园博客,原文链接:http://www.cnblogs.com/linlf03/archive/2012/10/24/2735922.html,如需转载请自行联系原作者

相关文章
HTTP 和 HTTPS(请求响应报文格式 + 请求方法 + 响应状态码 + HTTPS 加密流程 + Cookie 和 Session)
1. HTTP 是什么 2. HTTP 请求报文和响应报文的格式 1)请求报文格式 2)响应报文格式 3)报文中空行的作用 3. HTTP 的长连接和短连接 4. URL 1)在浏览器中输入 www.baidu.com 后执行的全部过程 5. HTTP 常用的请求方法 6. GET 和 POST 的区别 7. HTTP 常见的响应状态码 8. HTTPS 是什么 1)SSL 协议 9. HTTPS 怎么进行 “加密” 1)对称加密 2)非对称加密 3)CA 证书 4)HTTPS 加密的完整流程 10. HTTPS 的优缺点 11. HTTPS 和 HTTP 的区别
542 0
《数字证书:互联网世界的"身份证"与"防盗门"》 ——揭秘网络安全背后的加密江湖
在2023年某深夜,上海陆家嘴金融公司机房遭遇黑客攻击,神秘青铜大门与九大掌门封印的玉牌突现,阻止了入侵。此门象征数字证书,保障网络安全。数字证书如验钞机识别假币,保护用户数据。它通过SSL/TLS加密、CA认证和非对称加密,构建安全通信。证书分为DV、OV、EV三类,分别适合不同场景。忽视证书安全可能导致巨额损失。阿里云提供一站式证书服务,助力企业部署SSL证书,迎接未来量子计算和物联网挑战。
【网络原理】——图解HTTPS如何加密(通俗简单易懂)
HTTPS加密过程,明文,密文,密钥,对称加密,非对称加密,公钥和私钥,证书加密
网络安全与信息安全:关于网络安全漏洞、加密技术、安全意识等方面的知识分享
随着互联网的普及,网络安全问题日益突出。本文将从网络安全漏洞、加密技术和安全意识三个方面进行探讨,旨在提高读者对网络安全的认识和防范能力。通过分析常见的网络安全漏洞,介绍加密技术的基本原理和应用,以及强调安全意识的重要性,帮助读者更好地保护自己的网络信息安全。
88 10
网络安全与信息安全:关于网络安全漏洞、加密技术、安全意识等方面的知识分享
随着互联网的普及,网络安全问题日益突出。本文将介绍网络安全的重要性,分析常见的网络安全漏洞及其危害,探讨加密技术在保障网络安全中的作用,并强调提高安全意识的必要性。通过本文的学习,读者将了解网络安全的基本概念和应对策略,提升个人和组织的网络安全防护能力。
网络安全与信息安全:关于网络安全漏洞、加密技术、安全意识等方面的知识分享
在数字化时代,网络安全和信息安全已成为我们生活中不可或缺的一部分。本文将介绍网络安全漏洞、加密技术和安全意识等方面的内容,并提供一些实用的代码示例。通过阅读本文,您将了解到如何保护自己的网络安全,以及如何提高自己的信息安全意识。
108 10
网络安全漏洞、加密技术与安全意识的知识分享
随着互联网的普及,网络安全问题日益严重。本文将介绍网络安全漏洞的概念、类型和防范措施,以及加密技术的原理和应用。同时,强调提高个人和企业的安全意识对于防范网络攻击的重要性。
141 7
网络安全的盾与剑:漏洞防御与加密技术的实战应用
在数字化浪潮中,网络安全成为保护信息资产的重中之重。本文将深入探讨网络安全的两个关键领域——安全漏洞的防御策略和加密技术的应用,通过具体案例分析常见的安全威胁,并提供实用的防护措施。同时,我们将展示如何利用Python编程语言实现简单的加密算法,增强读者的安全意识和技术能力。文章旨在为非专业读者提供一扇了解网络安全复杂世界的窗口,以及为专业人士提供可立即投入使用的技术参考。
揭秘网络安全的盾牌与矛:漏洞防护与加密技术的较量
在数字化时代的棋局中,网络安全是每个参与者必须面对的挑战。本文将深入探讨网络安全中的两个关键角色——漏洞与加密技术。通过分析最新的安全漏洞案例,我们揭示网络攻击者如何利用这些漏洞进行破坏。同时,我们将展示加密技术如何成为保护数据不被窃取的强大盾牌。文章还将讨论提升个人和企业的安全意识的重要性,并通过实际的代码示例,展示如何在实践中应用这些知识来加强我们的网络防线。
AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等