簡體   English   中英

如何使RSACryptoServiceProvider無需填充(nopadding)就可以工作?

[英]How to make RSACryptoServiceProvider work without padding (nopadding)?

我需要使C#應用程序與Java應用程序兼容。

Java應用程序使用Cipher.getInstance("RSA/ECB/nopadding"); 進行密碼EC​​B和無填充的初始化程序。

但是,在C#中,您有2個填充選項:OAEP填充或PKCS#1 v1.5填充。 我需要一個無填充版本,否則我肯定會卡在我的項目中。

我認為沒有任何方法可以使C#.NET RSACryptoServiceProvider使用無填充方案。 但是,是否存在允許這種精度的RSA自定義類或庫?

PS:默認情況下,C#.NET的RSACryptoServiceProvider ECB是否為ECB? 我找不到關於此的文檔。

使用OpenSSL.NET將使無填充可用。 但是,我無法使其正常運行( 如果您想幫助我使其正常運行,請參閱此問題

不加填充地執行RSA幾乎肯定會使您陷入癱瘓(不安全)的密碼系統。 如果C#不允許您這樣做,那么這就是C#支持的觀點。 修復Java問題。

好吧,事實是,如果沒有填充,則必須完全滿足塊大小。 當然,通常要精確達到塊大小是很奇怪的,因此您要填充。

您總是可以自己填充一些字符,然后在另一側刪除它們。

確切地說,您需要這樣做的原因是什么?

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM