0
using Org.BouncyCastle.Crypto;
using Org.BouncyCastle.Crypto.Encodings;
using Org.BouncyCastle.Crypto.Engines;
using Org.BouncyCastle.OpenSsl;
public string RsaEncryptWithPublic(string clearText)
{
var bytesToEncrypt = Encoding.UTF8.GetBytes(clearText);
var encryptEngine = new Pkcs1Encoding(new RsaEngine());
using (var txtreader = new StringReader(publickey))
{
var keyParameter = (AsymmetricKeyParameter)new PemReader(txtreader).ReadObject();
encryptEngine.Init(true, keyParameter);
}
var encrypted = Convert.ToBase64String(encryptEngine.ProcessBlock(bytesToEncrypt, 0, bytesToEncrypt.Length));
Console.WriteLine(encrypted);
return encrypted;
}
И мой общедоступный вид ключа, как это:C# RSA шифрования расшифровать не удается (ошибка: 0407A079: RSA подпрограммы: RSA_padding_check_PKCS1_OAEP: OAEP ошибки декодирования)
public string publickey = @"-----BEGIN PUBLIC KEY-----
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
-----END PUBLIC KEY-----
";
Ошибка при стороне сервера расшифровывать (ошибка: 0407A079 : rsa-процедуры: RSA_padding_check_PKCS1_OAEP: ошибка декодирования oaep).
Могу ли я изменить свой код для размещения на стороне сервера?
Могу ли я шифровать с помощью RSA_padding_check_PKCS1_OAEP: oaep decoding mathod?
Действительно ли это * ваш ключ? Или вы обфускали его для SO (И поскольку это открытый ключ, вам все равно не нужно его обфускации)? – Rob
нет, я просто предоставляю свой ключевой формат. –