- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
使用 RSACryptoServiceProvider.Decrypt
解密文本时,出现错误:
Error occurred while decoding OAEP padding.
这是我的代码:
CspParameters cspParam = new CspParameters();
cspParam = new CspParameters();
cspParam.Flags = CspProviderFlags.UseMachineKeyStore;
clsCertificates cc = new clsCertificates();
string a = "";
cc.OpenStoreIE(ref a);
cc.SetProperties();
X509Certificate2 cert = new X509Certificate2();
cert = cc.x509_2Cert;
RSACryptoServiceProvider rsa = new RSACryptoServiceProvider(cspParam);
//to gentrate private and public keys from the certificate
rsa.FromXmlString(cert.PublicKey.Key.ToXmlString(false));
String publicKey = rsa.ToXmlString(false); // gets the public key
String privateKey = rsa.ToXmlString(true); // gets the private key working if paramter is false if true give error key is not valid for use in specified state
Response.Write("<Textarea rows=10 cols=100>PUBLIC: " + publicKey + "</TextArea>");
Response.Write("<Textarea rows=10 cols=100>PRIVATE: " + privateKey + "</Textarea>");
Response.Write("<BR>Encrypting the string \"HelloThere\" with the public Key:<BR>");
String str = "HelloThere";
RSACryptoServiceProvider RSA2 = new RSACryptoServiceProvider(cspParam);
//---Load the Public key---
RSA2.FromXmlString(publicKey);
//working with the folowing line instead of above but i need the keys of he certificte
//RSA2.ToXmlString(true);
Byte[] EncryptedStrAsByt = RSA2.Encrypt(System.Text.Encoding.Unicode.GetBytes(str), true);
String EncryptedStr = System.Text.Encoding.Unicode.GetString(EncryptedStrAsByt);
Response.Write("<Textarea rows=10 cols=100>Encrypted String: " + EncryptedStr + "</Textarea>");
Response.Write("<BR>Decrypting the Encrypted String with the Private key:<BR>");
RSACryptoServiceProvider RSA3 = new RSACryptoServiceProvider(cspParam);
//---Load the Private key---
RSA3.FromXmlString(privateKey);
//working with the folowing line instead of above but i need the keys of he certificte
//RSA3.ToXmlString(true);
Byte[] DecryptedStrAsByt = RSA3.Decrypt(EncryptedStrAsByt, true );//Error if true then error is error occured while decoding the OAE$P padding and if false then error is bad key i am using windows xp so it should be true.
String DecryptedStr = System.Text.Encoding.Unicode.GetString(DecryptedStrAsByt);
Response.Write("<Textarea rows=10 cols=100>Decrypted String: " + DecryptedStr + "</Textarea>");
如果我不使用我的数字证书的 key ,上面的方法是有效的。但如果 key 来自数字证书,我会收到 OAEP 填充错误。
注意:此问题是 Error occurred while decoding OAEP padding 的延续问题
最佳答案
一个常见的错误是尝试使用公钥解密。
关于c# - 解码 OAEP 填充时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/954416/
很简单的问题。 RSA-OAEP 和 RSAES-OAEP 之间有什么区别? 一样吗??? 我可以使用 RSAES-OAEP 算法从加密数据中使用 RSA-OAEP 函数解密吗 最佳答案 是的。 他们
在深入了解细节之前,我要完成的高级任务是用 JavaScript 加密一些数据,将其发送到 Web 服务器,然后用 C# 解密加密的数据。我遇到问题的部分是用 C# 解密数据。 我正在像这样用 Jav
这个问题在这里已经有了答案: RSA Encryption Problem [Size of payload data] (2 个答案) 关闭 6 年前。 我正在尝试使用 SubtleCrypto
使用 RSACryptoServiceProvider.Decrypt 解密文本时,出现错误: Error occurred while decoding OAEP padding. 这是我的代码:
我目前正在研究一个类,该类使用 RSACryptoServiceProvider 执行主 key 加密和解密操作,使用智能卡的 X509 证书加密随机生成的加密 key 来加密大量文本。但是,当我将
我使用以下命令生成了对称 openssl rand 32 > test.key 它是使用我的公钥加密的,如下命令所示。它使用OAEP填充模式。 openssl pkeyutl -pkeyopt rsa
从我的观察可以看出,苹果安全框架中SecKeyEncrypt方法的各种填充值不支持SHA512哈希摘要的OAEP填充。实际上,我似乎无法确定SecKeyEncrypt方法是否在CBC过程中对每个块进行
我正在尝试使用描述为 here 的导出 key 来访问公钥。 。我有以下代码: window.crypto.subtle.generateKey( {
我正在使用 Web Crypto,更具体地说是这些示例:https://github.com/diafygi/webcrypto-examples/#rsa-oaep 我的主要目标是用我的公钥加密一个
我正在生成一个许可证 key 负载,该负载使用私钥通过 RSA 加密,然后使用公钥对其进行解密,以便在我面向用户的软件中使用许可证负载。我正在加密而不是签名,所以我只需要向我的用户提供一个字符串,而不
我在 phpseclib 中使用 Cipher.getInstance("RSA/ECB/OAEPWITHSHA-512ANDMGF1PADDING") 和 setEncryptionMode(CRY
我无法使用加密模块解密使用 RSA OAEP sha512 加密的字符串。它给了我 oaep 解码错误。 我正在使用 NodeJS 和加密模块,我已经尝试使用这些 key 加密和解密示例文本,但我无法
我正在尝试使用 Java 实现 RSA-OAEP 加密。我知道这需要一个默认为空字符串的标签。如何更改标签的值并使用内置类提供我选择的值? 最佳答案 正如我在评论中建议的,您需要使用 PSource.
我有一个带有私钥的证书存储在 Windows 证书库中。如何使用此 key 解密使用 OAEP 填充的消息?我可以使用 BouncycaSTLe 提供程序和 pfx 文件(PKCS12 keystor
我有以下代码来测试 WebCrypto API。它适用于 Firefox 和 Chrome,我正在尝试使其适用于 Safari。 function ab2str(buf) { retur
关闭。这个问题需要details or clarity .它目前不接受答案。 想改进这个问题吗? 通过 editing this post 添加细节并澄清问题. 关闭 7 年前。 Improve t
我正在 Java/Android 中实现加密代码以匹配 iOS 加密。在 iOS 中,使用以下填充方案使用 RSA 进行加密:PKCS1-OAEP 但是,当我尝试使用 PKCS1-OAEP 创建密码时
我正在使用 OpenSSL 来加密和解密 CMS_envolped 数据的有效负载,但我想使用带有 OAEP 填充(而不是 PKCS 1.5 填充)的 AES256 密码。当我使用 PKCS1.5 填
我正在尝试调试一个简单的 openssl 程序,但无法完全理解 openssl 对“oaep 解码错误”的含义。我已经将我的程序缩减为这个,测试,一个: #include #include #in
Android客户端加密报文,java代码 Cipher cipher = Cipher.getInstance("RSA/ECB/OAEPWITHSHA-256ANDMGF1PADDING"); b
我是一名优秀的程序员,十分优秀!