`
lindexi-gd
  • 浏览: 139699 次
社区版块
存档分类
最新评论

win10应用 UWP 使用MD5算法

 
阅读更多

windows有自带的算法来计算MD5
原本在WPF是

        private string get_MD5(string str)
        {            System.Security.Cryptography.MD5CryptoServiceProvider md5 = new System.Security.Cryptography.MD5CryptoServiceProvider();
            byte[] temp;
            StringBuilder strb = new StringBuilder();
            temp = md5.ComputeHash(Encoding.Unicode.GetBytes(str));
            md5.Clear();
            for (int i = 0; i < temp.Length; i++)
            {                strb.Append(temp[i].ToString("X").PadLeft(2 , '0'));
            }
            return strb.ToString().ToLower();            
        }

进行MD5,可是UWP没有System.Security.Cryptography.MD5CryptoServiceProvider

在msdn是

Windows.Security.Cryptography.Core.CryptographicHash

来作为MD5的类
这个类只有两个方法:Append,GetValueAndReset
不知道微软是怎么要这样做

弄了好久才知道要怎么去md5

下面代码演示了三段不同字符串,经过MD5之后得到值
不过之前需要

using Windows.Security.Cryptography;
using Windows.Security.Cryptography.Core;
using Windows.Storage.Streams;

代码

        public void ce()
        {
            //可以选择MD5 Sha1 Sha256 Sha384 Sha512
            string strAlgName = HashAlgorithmNames.Md5;

            // 创建一个 HashAlgorithmProvider 对象
            HashAlgorithmProvider objAlgProv = HashAlgorithmProvider.OpenAlgorithm(strAlgName);

            // 创建一个可重用的CryptographicHash对象           
            CryptographicHash objHash = objAlgProv.CreateHash();


            string strMsg1 = "这是一段待加密的字符串";
            IBuffer buffMsg1 = CryptographicBuffer.ConvertStringToBinary(strMsg1 , BinaryStringEncoding.Utf16BE);
            objHash.Append(buffMsg1);
            IBuffer buffHash1 = objHash.GetValueAndReset();
            string strHash1 = CryptographicBuffer.EncodeToBase64String(buffHash1);


            string strMsg2 = "和前面一串不相同的字符串";
            IBuffer buffMsg2 = CryptographicBuffer.ConvertStringToBinary(strMsg2 , BinaryStringEncoding.Utf16BE);
            objHash.Append(buffMsg2);
            IBuffer buffHash2 = objHash.GetValueAndReset();
            string strHash2 = CryptographicBuffer.EncodeToBase64String(buffHash2);


            string strMsg3 = "每个都不相同";
            IBuffer buffMsg3 = CryptographicBuffer.ConvertStringToBinary(strMsg3 , BinaryStringEncoding.Utf16BE);
            objHash.Append(buffMsg3);
            IBuffer buffHash3 = objHash.GetValueAndReset();
            string strHash3 = CryptographicBuffer.EncodeToBase64String(buffHash3);


            _reminder.Append(strMsg1 + "\r\n");
            _reminder.Append(strHash1 + "\r\n");
            _reminder.Append(strMsg2 + "\r\n");
            _reminder.Append(strHash2 + "\r\n");
            _reminder.Append(strMsg3 + "\r\n");
            _reminder.Append(strHash3 + "\r\n");
        }

_reminder是一个StringBuilder用于展示
这个MD5结果有英文字符和数字特殊字符

上面代码其实也可以改为Sha1 Sha256 Sha384 Sha512只要在第一句的MD5改为你要的

参考文献:https://msdn.microsoft.com/zh-cn/library/windows/apps/xaml/windows.security.cryptography.core.cryptographichash.aspx

判断ctrl按下

        private void reminderkeydown(object sender , KeyRoutedEventArgs e)
        {
            if (e.Key == Windows.System.VirtualKey.Control)
            {
                _ctrl = true;
            }
            if (_ctrl)
            {
                xreminder.Text = "ctrl+" + e.Key.ToString();
            }
            else
            {
                xreminder.Text =  e.Key.ToString();
            }
        }
        private bool _ctrl;

        private void reminderkeyup(object sender , KeyRoutedEventArgs e)
        {
            if (e.Key == Windows.System.VirtualKey.Control)
            {
                _ctrl = false;
            }
        }
<script type="text/javascript"> $(function () { $('pre.prettyprint code').each(function () { var lines = $(this).text().split('\n').length; var $numbering = $('<ul/>').addClass('pre-numbering').hide(); $(this).addClass('has-numbering').parent().append($numbering); for (i = 1; i <= lines; i++) { $numbering.append($('<li/>').text(i)); }; $numbering.fadeIn(1700); }); }); </script>
分享到:
评论

相关推荐

    Win10 UWP应用代理工具

    全选设置之后UWP即可访问localhost,可以走代理。

    WindowsStore_LTSC2019,LTSC 自动恢复 win10 应用商店

    但是LTSB/C也没了应用商店和UWP运行环境.,LTSC自动恢复win10应用商店,应用商店也是Win10的一大特色! Win10的应用商店也有一些优秀的应用可以代替臃肿的桌面程序. 使用该工具即可在 Windows10 LTSC(2019,1809) 上...

    WindowsStore_LTSC2019,LTSC自动恢复win10应用商店

    但是LTSB/C也没了应用商店和UWP运行环境.,LTSC自动恢复win10应用商店,应用商店也是Win10的一大特色! Win10的应用商店也有一些优秀的应用可以代替臃肿的桌面程序. 使用该工具即可在 Windows10 LTSC(2019,1809) 上安装...

    Win10下通过UWP刷新WIFI

    下面我们将深入探讨如何在Win10下通过UWP实现这些功能。 首先,我们需要了解UWP(Universal Windows Platform)是微软为Windows 10推出的一种跨设备的应用程序开发框架。它允许开发者编写一次代码,就能在各种...

    win10 uwp 轻量级 MVVM 框架入门 2.1.5.3199 例子

    总结来说,"win10 uwp 轻量级 MVVM 框架入门 2.1.5.3199 例子"提供了一个实际操作的平台,让开发者学习如何在UWP环境中利用MVVM模式进行开发。通过分析和实践这个框架,你将能够更好地理解MVVM的工作原理,以及如何...

    win10 moblie uwp qq5.6.1150.1000

    win10 moblie uwp qq5.6.1150.1000主程序,不含依赖程序

    win10 moblie uwp 越飞阅读1.4.68.0

    win10 moblie uwp 越飞阅读1.4.68.0主程序,不含依赖程序

    win10应用商店uwp安装包

    win10应用商店安装包,Microsoft.WindowsStore_11804.1001.913.0_neutral_~_8wekyb3d8bbwe,可用于不带应用商店的安装

    win10 uwp 使用 asp dotnet core 做图床服务器客户端

    在本文中,我们将探讨如何利用Windows 10的UWP(通用Windows平台)应用程序与ASP.NET Core构建一个图床服务器的客户端。这是一个涉及到跨平台开发和云端图像存储管理的项目,旨在提供一种高效且灵活的方式来上传和...

    Win10 UWP 开发教程 课程 资源

    Win10 UWP 开发教程 课程 资源 80课时 课程地址:http://blog.csdn.net/shanguuncle/article/details/78111649

    UWP开发_MD5加密类

    因为之前练手做一个UWP小APP需要调用一个百度的API,这个API需要使用MD5加密一个参数; 当时看MSDN官方的加密看了半天没看懂,于是乎Google了一个国外大神用C#写的MD5加密的类,有需要的可以拿走;

    lindexi#lindexi#2020-10-28-win10-uwp-字符文本转语音声音文件方法1

    title: "win10 uwp 字符文本转语音声音文件方法"在 UWP 中,支持将传入的字符串文本内容转换为音频语音,可以将这个语音声音通过 MediaEl

    快捷将UWP应用添加到环回免除列表以使用代理加速访问.zip

    在IT行业中,UWP(Universal Windows Platform)应用是微软为Windows 10及更高版本操作系统设计的一种现代化应用程序框架。这些应用程序具有跨设备兼容性,并且能够利用Windows平台的各种特性和功能。然而,当涉及到...

    UWP应用设计规范

    UWP(Universal Windows Platform,通用Windows平台)应用设计规范是微软为开发者提供的关于如何设计在所有基于Windows 10的设备上运行良好的用户界面的一套指导原则。这包括从手机、平板电脑到个人电脑和Surface ...

    C#实现win10 uwp 右击浮出窗在点击位置

    在Windows 10 UWP应用开发中,常常需要创建一种用户友好的交互方式,即当用户右键点击某个元素时,能在一个特定的位置显示一个浮出菜单(MenuFlyout)。本篇文章将详细介绍如何使用C#实现这样的功能,使得MenuFlyout...

    Windows10通用应用(UWP)开发详细教程, Windows10通用应用(UWP)代码大全

    即Windows通用应用平台,在Windows 10 Mobile/Surface(Windows平板电脑)/PC/Xbox/HoloLens等平台上运行,uwp不同于传统pc上的exe应用,也跟只适用于手机端的app有本质区别。它并不是为某一个终端而设计,而是可以...

    通用 Windows 平台 (UWP) 应用指南

    作为核心版的一部分,UWP 现提供了一个可供在每个运行 Windows 10 的设备上使用的通用应用平台。借助此次突破,面向 UWP 的 应用不仅可以调用对所有设备均通用的 WinRT API,还可以调用特定于要运行应用的设备系列的...

    Sound Blaster Connect的uwp版独立安装包

    此安装包为win10的uwp版应用软件Sound Blaster Connect,有需要的朋友可以去下载下来

    Win 8应用商店破解

    这个工具可以帮你破解Win 8应用商店的试用版应用!

    uwp开发-demoHelloworld源码

    【描述】提到的"一个uwp开发源码,可以移植到一切win10系统"意味着该项目遵循了UWP的跨平台特性,使得开发者能够在不同类型的Windows 10设备上部署和运行同一套代码。UWP是微软为了统一Windows生态而推出的新开发...

Global site tag (gtag.js) - Google Analytics