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

简介:

   今天主要学习了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 的区别
370 0
|
2天前
|
SQL 安全 网络安全
数字堡垒之下:网络安全漏洞、加密技术与安全意识的现代博弈
在这个数字信息日益膨胀的时代,网络安全成为了保护个人隐私和企业资产的关键防线。本文将深入浅出地探讨网络安全的薄弱环节—漏洞,以及如何通过加密技术和提高安全意识来强化这道防线。我们将从漏洞的类型和发现讲起,进而解析加密技术的原理和应用,最后强调培养良好的安全习惯和意识的必要性。无论你是网络新手还是资深专家,这篇文章都将为你的安全知识库添砖加瓦。
|
1天前
|
监控 安全 算法
数字堡垒之下:网络安全漏洞与加密技术的较量
【9月更文挑战第5天】在数字化时代的浪潮中,网络安全成为了保护信息资产的盾牌。本文将深入探讨网络安全的薄弱环节—漏洞,以及如何利用先进的加密技术来加固这面盾牌。从基础概念到实际操作,我们将一步步揭示如何在网络世界中构筑一道坚不可摧的防线。
|
1天前
|
SQL 安全 网络安全
网络安全的守护者:漏洞、加密与意识的三重奏
【9月更文挑战第5天】在数字时代的交响乐中,网络安全扮演着不可或缺的守护者角色。本文将带领读者穿梭于网络世界的安全缝隙,探索加密技术的奥秘,并唤醒每一位用户内心深处的安全意识。通过深入浅出的讲解和生动的案例分析,我们将一同见证如何构建一道坚不可摧的防线,保护我们的数据不受侵犯,确保个人信息的安全。
23 9
|
2天前
|
安全 算法 网络安全
网络安全与信息安全:漏洞、加密与安全意识的三重奏
【9月更文挑战第4天】在数字时代的交响乐中,网络安全与信息安全是不可或缺的乐章。本文将深入探讨网络安全的脆弱性,揭示那些隐藏在光鲜表面下的潜在风险。我们将一同穿梭于加密技术的迷宫,解锁保护数据的神秘钥匙。更重要的是,本文将点亮一盏灯,照亮培养个人和组织安全意识的道路。通过深入浅出的分析与生动的案例,我们将共同见证网络安全的复杂性、加密技术的力量以及安全意识的重要性。让我们携手,为这场数字交响乐谱写一曲无懈可击的安全篇章。
|
2天前
|
SQL 安全 算法
数字堡垒之下:网络安全漏洞、加密技术与安全意识的三维防线
在数字化浪潮汹涌澎湃的今天,网络安全已成为维系社会稳定、保护个人隐私的重要基石。本文将深入浅出地探讨网络安全中的三大关键领域:网络漏洞的识别与防范、加密技术的原理与应用以及提升公众的安全意识。通过这三个维度,我们旨在构建一个坚实的数字堡垒,以抵御日益猖獗的网络威胁,确保信息资产的安全与隐私。
17 5
|
1天前
|
安全 网络安全 数据安全/隐私保护
网络安全与信息安全:关于网络安全漏洞、加密技术、安全意识等方面的知识分享
【9月更文挑战第5天】在数字化时代,网络安全和信息安全已成为全球关注的焦点。本文将探讨网络安全漏洞、加密技术和安全意识等方面的内容,以帮助读者更好地了解网络安全的重要性,并提高自己的网络安全防护能力。我们将通过分析网络安全漏洞的原因和影响,介绍加密技术的基本原理和应用,以及强调安全意识在防范网络攻击中的关键作用。最后,我们将提供一些实用的建议,帮助读者保护自己的网络安全。
|
2天前
|
SQL 安全 网络安全
网络安全与信息安全:关于网络安全漏洞、加密技术、安全意识等方面的知识分享
【9月更文挑战第4天】在数字化时代,网络安全和信息安全已成为全球关注的焦点。本文将探讨网络安全漏洞、加密技术以及提升安全意识的重要性。我们将通过深入浅出的方式,解析网络安全的基础知识,并提供实用的代码示例,帮助读者更好地理解并应对网络安全挑战。
|
4天前
|
安全 算法 网络安全
网络安全的屏障:漏洞、加密与意识
【9月更文挑战第2天】在数字时代的浪潮中,网络安全如同一道防线,守护着信息世界的安宁。本文旨在深入探讨网络安全的核心要素:漏洞管理、加密技术和安全意识。我们将从网络安全漏洞的类型和防范措施入手,逐步过渡到加密技术的原理和应用,最后强调提升个人和企业的安全意识的重要性。通过深入浅出的分析,揭示这些要素如何协同工作,共同构建起坚不可摧的网络防御体系。