<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                # win10 UWP 使用 MD5算法 在我們的應用需求很常見的,我們需要使用md5算法。 uwp的 md5 和 WPF 的使用差不多。 <!--more--> <div id="toc"></div> 在 WPF ,我們使用 ```csharp 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(); } ``` 然而在 UWP ,沒有`System.Security.Cryptography.MD5CryptoServiceProvider`,新的加密類放在`Windows.Security.Cryptography.Core.CryptographicHash` UWP 的 md5使用很簡單 首先添加在類的最前,讓我們打的時候減少一些。 ```csharp using Windows.Security.Cryptography; using Windows.Security.Cryptography.Core; using Windows.Storage.Streams; ``` 然后把輸入的字符串轉為 md5 需要的二進制,注意編碼。 ```csharp Windows.Security.Cryptography.Core.HashAlgorithmProvider objAlgProv = Windows.Security.Cryptography.Core.HashAlgorithmProvider.OpenAlgorithm(Windows.Security.Cryptography.Core.HashAlgorithmNames.Md5); Windows.Security.Cryptography.Core.CryptographicHash md5 = objAlgProv.CreateHash(); Windows.Storage.Streams.IBuffer buffMsg1 = Windows.Security.Cryptography.CryptographicBuffer.ConvertStringToBinary(str , Windows.Security.Cryptography.BinaryStringEncoding.Utf16BE); md5.Append(buffMsg1); Windows.Storage.Streams.IBuffer buffHash1 = md5.GetValueAndReset(); ``` `buffHash1`就是轉換后的二進制,我們可以把它轉為 base64 或 Hex 網上很多都是 Hex ,基本看到 md5 就是二進制轉 Hex, Hex 就是16進制。 我們先說下如何轉為 Base64 ```csharp Windows.Security.Cryptography.CryptographicBuffer.EncodeToBase64String(buffHash1); ``` 那么如何轉為 Hex ? ```csharp CryptographicBuffer.EncodeToHexString(buffHash1); ``` 下面寫出代碼,測試通過,在站長工具轉換結果一樣 ```csharp public static string Md5(string str) { HashAlgorithmProvider algorithm = HashAlgorithmProvider.OpenAlgorithm(HashAlgorithmNames.Md5); CryptographicHash md5 = algorithm.CreateHash(); Windows.Storage.Streams.IBuffer buffer = CryptographicBuffer.ConvertStringToBinary(str, BinaryStringEncoding.Utf16BE); md5.Append(buffer); return CryptographicBuffer.EncodeToHexString(md5.GetValueAndReset()); } ``` <script src="https://gist.github.com/lindexi/0ecf1d8de7a222cda5f058e74de335c1.js"></script> <a rel="license" href="http://creativecommons.org/licenses/by-nc-sa/4.0/"><img alt="知識共享許可協議" style="border-width:0" src="https://licensebuttons.net/l/by-nc-sa/4.0/88x31.png" /></a><br />本作品采用<a rel="license" href="http://creativecommons.org/licenses/by-nc-sa/4.0/">知識共享署名-非商業性使用-相同方式共享 4.0 國際許可協議</a>進行許可。歡迎轉載、使用、重新發布,但務必保留文章署名[林德熙](http://blog.csdn.net/lindexi_gd)(包含鏈接:http://blog.csdn.net/lindexi_gd ),不得用于商業目的,基于本文修改后的作品務必以相同的許可發布。如有任何疑問,請與我[聯系](mailto:lindexi_gd@163.com)。
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看