INNER CODE UNIT · C#
current
stulzq/RSAExtensions · src/RSAExtensions/EncryptExtensions.cs:44
byte[] current = pointer + splitLength < data.Length ? data[pointer..(pointer+splitLength)] : data[pointer..];
sb.Append(Convert.ToBase64String(rsa.Encrypt(current, padding)));
sb.Append(connChar);
pointer += splitLength;
}
return sb.ToString().TrimEnd(connChar);
}
public static string DecryptBigData(this RSA rsa, string dataStr, RSAEncryptionPadding padding, char connChar = '$')
{
var data = dataStr.Split(connChar, StringSplitOptions.RemoveEmptyEntries);
using var ms = MemoryStreamManager.GetStream();
foreach (var item in data)
{
ms.Write(rsa.Decrypt(Convert.FromBase64String(item), padding));