К сожалению, с Bouncy Castle мне не удалось.
Спасибо!
Обновление:
Я попробовал два варианта:
- Я реализовал шифр CustomRSA:
публичный класс CustomRSA : IAsymmetricBlockCipher
{
публичная строка AlgorithmName
{
get
{
return "CustomRSA";
}
Код: Выделить всё
public int GetInputBlockSize() { throw new NotImplementedException(); } public int GetOutputBlockSize() { return 36; } public void Init(bool forEncryption, ICipherParameters parameters) { } public byte[] ProcessBlock(byte[] inBuf, int inOff, int inLen) { return inBuf; }
Код: Выделить всё
CustomRSA ls = new CustomRSA();
var ba = new OaepEncoding(ls, new Sha256Digest(), new Sha256Digest(), null);
ba.Init(false, null);
return ba.ProcessBlock(paddedData, 0, paddedData.Length);
- Другая идея заключалась в клонировании класса OAEPEncoding из надувного замка. Здесь я попытался заменить строку в методе DecodeBlock следующим образом:
byte[] data = engine.ProcessBlock(inBytes, inOff, inLen);
< /li>
Код: Выделить всё
byte[] data = inBytes;
Подробнее здесь: https://stackoverflow.com/questions/791 ... ypted-data
Мобильная версия