久久久久久久av_日韩在线中文_看一级毛片视频_日本精品二区_成人深夜福利视频_武道仙尊动漫在线观看

  • <i id='2pI2I'><tr id='2pI2I'><dt id='2pI2I'><q id='2pI2I'><span id='2pI2I'><b id='2pI2I'><form id='2pI2I'><ins id='2pI2I'></ins><ul id='2pI2I'></ul><sub id='2pI2I'></sub></form><legend id='2pI2I'></legend><bdo id='2pI2I'><pre id='2pI2I'><center id='2pI2I'></center></pre></bdo></b><th id='2pI2I'></th></span></q></dt></tr></i><div class="qwawimqqmiuu" id='2pI2I'><tfoot id='2pI2I'></tfoot><dl id='2pI2I'><fieldset id='2pI2I'></fieldset></dl></div>
  • <tfoot id='2pI2I'></tfoot>

      <legend id='2pI2I'><style id='2pI2I'><dir id='2pI2I'><q id='2pI2I'></q></dir></style></legend>

        <small id='2pI2I'></small><noframes id='2pI2I'>

          <bdo id='2pI2I'></bdo><ul id='2pI2I'></ul>

        使用 Base64 編碼的公鑰驗證 RSA 簽名

        Using Base64 encoded Public Key to verify RSA signature(使用 Base64 編碼的公鑰驗證 RSA 簽名)
      1. <small id='p4Ad8'></small><noframes id='p4Ad8'>

            • <bdo id='p4Ad8'></bdo><ul id='p4Ad8'></ul>
                <tfoot id='p4Ad8'></tfoot>

                  <i id='p4Ad8'><tr id='p4Ad8'><dt id='p4Ad8'><q id='p4Ad8'><span id='p4Ad8'><b id='p4Ad8'><form id='p4Ad8'><ins id='p4Ad8'></ins><ul id='p4Ad8'></ul><sub id='p4Ad8'></sub></form><legend id='p4Ad8'></legend><bdo id='p4Ad8'><pre id='p4Ad8'><center id='p4Ad8'></center></pre></bdo></b><th id='p4Ad8'></th></span></q></dt></tr></i><div class="qwawimqqmiuu" id='p4Ad8'><tfoot id='p4Ad8'></tfoot><dl id='p4Ad8'><fieldset id='p4Ad8'></fieldset></dl></div>
                    <tbody id='p4Ad8'></tbody>
                1. <legend id='p4Ad8'><style id='p4Ad8'><dir id='p4Ad8'><q id='p4Ad8'></q></dir></style></legend>
                  本文介紹了使用 Base64 編碼的公鑰驗證 RSA 簽名的處理方法,對大家解決問題具有一定的參考價值,需要的朋友們下面隨著小編來一起學習吧!

                  問題描述

                  限時送ChatGPT賬號..

                  簡而言之,這是我的問題:

                  In a nutshell, this is my problem:

                  <代碼>私人字符串publicKeyString = MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDVGUzbydMZS + fnkGTsUkDKEyFOGwghR234d5GjPnMIC0RFtXtw2tdcNM8I9Qk + h6fnPHiA7r27iHBfdxTP3oegQJWpbY2RMwSmOs02eQqpKx4QtIjWqkKk2Gmck5cll9GCoI8AUAA5e0D02T0ZgINDmo5yGPhGAAmqYrm8YiupwQIDAQAB";/* 需要一些轉換,使用 publicKeyString 來啟動一個新的 RSACryptoServiceProvider 對象*///目前:RSACryptoServiceProvider rsa = new RSACryptoServiceProvider();字節[] selfComputedHash = 新字節[];//示例中省略字節[]簽名=新字節[];bool 結果 = rsa.VerifyHash(selfComputedHash, CryptoConfig.MapNameToOID("SHA1"), 簽名);

                  如您所見,問題在于使用給定的 Base64 編碼公鑰字符串啟動新的 RSACryptoServiceProvider.我已經能夠使用對象 RSAParameters 進行實例化,該對象使用 OpenSSL shell 命令從該公鑰字符串派生的模數和指數加載了字節 [].但是由于這個公鑰將來可能會發生變化,我希望能夠將其以原始形式存儲在數據庫中.必須有更直接的方法來處理這個問題.

                  As you can see, the problem is initiating a new RSACryptoServiceProvider with the given Base64 encoded public key string. I've been able to do the instantiation using an object RSAParameters, loaded with the byte[]'s for Modulus and Exponent derived from this public key string using an OpenSSL shell command. But since this public key may change in the future I want to be able to store it in its original form in a database. There must be a more straightforward way of dealing with this.

                  到目前為止,我讀過的許多示例都通過將生成的私鑰和公鑰導出到密鑰容器對象或從密鑰容器對象導入生成的私鑰和公鑰并在同一段代碼中使用它而不是轉移"來避免這個問題某些字符串形式的鍵內存不足.有些人在 StackOverflow 和其他網站上都表達了同樣的問題,但我還沒有找到令人滿意的答案.

                  A lot of the examples I've read so far avoid this problem by exporting and importing the generated private and public keys to and from a key-container object and use it in the same piece of code and thus not 'transferring' the key in some string form out of memory. Some people have expressed the same problem, both here on StackOverflow and on other sites, but I have not been able to find a satisfying answer yet.

                  歡迎提出任何想法.

                  背景信息:我的通信伙伴從一個可變長度的輸入字符串計算一個 20 字節的 SHA1 哈希,該字符串由包含在 ASCII 編碼消息的多個字段中的信息組成.然后用我的合作伙伴的私鑰對這個哈希進行 RSA 簽名,并與 ASCII 消息一起發送給我.到達后,我自己計算 SHA1 哈希,使用 ASCII 消息中的相同字段,然后嘗試通過調用 VerifyHash 來驗證這些字段是否未更改.

                  Background info: My communication partner computes a 20-byte SHA1-hash from an input string of variable length, composed of the information contained in several fields of an ASCII encoded message. This hash is then RSA-signed with my partner's private key and sent along with the ASCII message to me. Upon arrival, I compute the SHA1 hash myself, using the same fields from the ASCII message and then try to verify if these fields were not altered by calling VerifyHash.

                  密鑰以 2 種形式提供:常規和非NL".上面的代碼中包含了noNL版本,普通版本是這樣的:

                  The key is provided in 2 forms: regular and 'noNL'. The noNL version is included in the code above, the regular version is this:

                  -----BEGIN PUBLIC KEY-----
                  MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDVGUzbydMZS+fnkGTsUkDKEyFO
                  GwghR234d5GjPnMIC0RFtXtw2tdcNM8I9Qk+h6fnPHiA7r27iHBfdxTP3oegQJWp
                  bY2RMwSmOs02eQqpKx4QtIjWqkKk2Gmck5cll9GCoI8AUAA5e0D02T0ZgINDmo5y
                  GPhGAAmqYrm8YiupwQIDAQAB
                  -----END PUBLIC KEY-----
                  

                  推薦答案

                  你的字符串是 SubjectPublicKeyInfo.您可以使用 Bouncycastle.net 像這樣解碼它:

                  Your string is the base64 encoding of a SubjectPublicKeyInfo. You can use Bouncycastle.net to decode it like this:

                  byte[] publicKeyBytes = Convert.FromBase64String(publicKeyString);
                  AsymmetricKeyParameter asymmetricKeyParameter = PublicKeyFactory.CreateKey(publicKeyBytes);
                  RsaKeyParameters rsaKeyParameters = (RsaKeyParameters) asymmetricKeyParameter;
                  RSAParameters rsaParameters = new RSAParameters();
                  rsaParameters.Modulus = rsaKeyParameters.Modulus.ToByteArrayUnsigned();
                  rsaParameters.Exponent = rsaKeyParameters.Exponent.ToByteArrayUnsigned();
                  RSACryptoServiceProvider rsa = new RSACryptoServiceProvider();
                  rsa.ImportParameters(rsaParameters);
                  

                  這篇關于使用 Base64 編碼的公鑰驗證 RSA 簽名的文章就介紹到這了,希望我們推薦的答案對大家有所幫助,也希望大家多多支持html5模板網!

                  【網站聲明】本站部分內容來源于互聯網,旨在幫助大家更快的解決問題,如果有圖片或者內容侵犯了您的權益,請聯系我們刪除處理,感謝您的支持!

                  相關文檔推薦

                  What are good algorithms for vehicle license plate detection?(車牌檢測有哪些好的算法?)
                  onClick event for Image in Unity(Unity中圖像的onClick事件)
                  Running Total C#(運行總 C#)
                  Deleting a directory when clicked on a hyperlink with JAvascript.ASP.NET C#(單擊帶有 JAvascript.ASP.NET C# 的超鏈接時刪除目錄)
                  asp.net listview highlight row on click(asp.net listview 在單擊時突出顯示行)
                  Calling A Button OnClick from a function(從函數調用按鈕 OnClick)
                  • <legend id='UWfbS'><style id='UWfbS'><dir id='UWfbS'><q id='UWfbS'></q></dir></style></legend>

                      <tfoot id='UWfbS'></tfoot>

                      <i id='UWfbS'><tr id='UWfbS'><dt id='UWfbS'><q id='UWfbS'><span id='UWfbS'><b id='UWfbS'><form id='UWfbS'><ins id='UWfbS'></ins><ul id='UWfbS'></ul><sub id='UWfbS'></sub></form><legend id='UWfbS'></legend><bdo id='UWfbS'><pre id='UWfbS'><center id='UWfbS'></center></pre></bdo></b><th id='UWfbS'></th></span></q></dt></tr></i><div class="qwawimqqmiuu" id='UWfbS'><tfoot id='UWfbS'></tfoot><dl id='UWfbS'><fieldset id='UWfbS'></fieldset></dl></div>

                        • <bdo id='UWfbS'></bdo><ul id='UWfbS'></ul>

                          <small id='UWfbS'></small><noframes id='UWfbS'>

                              <tbody id='UWfbS'></tbody>

                          • 主站蜘蛛池模板: 国产伦精品一区二区三区四区视频 | 欧美午夜精品 | 中文字幕一区二区三区四区五区 | 久草视| 一级全黄少妇性色生活免费看 | 国产精品久久久亚洲 | 国产成人免费 | 久久亚洲综合 | 国产精品观看 | 黄色网址在线免费观看 | 国产毛片毛片 | 久久电影一区 | 国产精品黄色 | 成人av在线网站 | 插插插干干干 | 久久亚洲一区二区三区四区 | 国精久久 | 久久免费电影 | 成人国产a | 91tv在线观看 | 精品视频一区二区三区在线观看 | 另类亚洲视频 | 黑人精品 | 一区二区三区中文字幕 | 91麻豆精品国产91久久久更新资源速度超快 | 日日想夜夜操 | 人人干人人舔 | 欧美韩一区二区三区 | 日韩亚洲视频 | 美国a级毛片免费视频 | 国产av毛片 | 精品美女在线观看视频在线观看 | 韩日一区二区 | 国产在线麻豆精品入口 | 午夜视频在线免费观看 | 国产午夜精品一区二区三区嫩草 | 97久久精品 | 亚洲精品永久免费 | 国产精品视频导航 | 免费在线观看一区二区三区 | 天天草草草 |