/// <summary> /// 解密 /// </summary> /// <param name="baseObj"></param> /// <param name="decryptData"></param> /// <returns></returns> public static string Decrypt(RSAUtilBase baseObj, string decryptData) { if (baseObj is null) { throw new ArgumentNullException(nameof(baseObj)); } try { //RSAEncryptionPadding :OaepSHA1 || OaepSHA384 ... return(baseObj.Decrypt(decryptData, RSAEncryptionPadding.OaepSHA256)); } catch (Exception ex) { return(ex.Message); } }
/// <summary> /// Use different method to decrypt by data size /// </summary> /// <param name="rsaUtil">RSAUtilBase</param> /// <param name="maxDataSize">Max encrypt data size for RSA</param> /// <param name="cipherData">Encrypted data</param> /// <param name="encryptionPadding">RSAEncryptionPadding</param> /// <returns>Decrypted data</returns> public static string DecryptByDataSize( this RSAUtilBase rsaUtil, int maxDataSize, string cipherData, RSAEncryptionPadding encryptionPadding) { if (string.IsNullOrEmpty(cipherData)) { return(string.Empty); } var isBigData = cipherData.Contains(splitCharForBigData.ToString()); if (isBigData) { return(rsaUtil.DecryptBigData(cipherData, encryptionPadding)); } else { return(rsaUtil.Decrypt(cipherData, encryptionPadding)); } }
public static string RSADecrypt(RSAUtilBase rSAUtilBase, RSAEncryptionPadding rSAEncryptionPadding, string data) => _RSAUtilBase.Decrypt(data, rSAEncryptionPadding);