/// <summary> /// 加密 /// </summary> /// <param name="baseObj"></param> /// <param name="encryptData"></param> /// <returns></returns> public static string Encrypt(RSAUtilBase baseObj, string encryptData) { if (baseObj is null) { throw new ArgumentNullException(nameof(baseObj)); } try { //RSAEncryptionPadding :OaepSHA1 || OaepSHA384 ... return(baseObj.Encrypt(encryptData, RSAEncryptionPadding.OaepSHA256)); } catch (Exception ex) { return(ex.Message); } }
/// <summary> /// Use different method to encrypt by data size /// </summary> /// <param name="rsaUtil">RSAUtilBase</param> /// <param name="maxDataSize">Max encrypt data size for RSA</param> /// <param name="data">Data</param> /// <param name="encryptionPadding">RSAEncryptionPadding</param> /// <returns>Encrypted data</returns> public static string EncryptByDataSize( this RSAUtilBase rsaUtil, int maxDataSize, string data, RSAEncryptionPadding encryptionPadding) { if (string.IsNullOrEmpty(data)) { return(string.Empty); } var dataBytes = Encoding.UTF8.GetBytes(data); if (dataBytes.Length > maxDataSize) { return(rsaUtil.EncryptBigData(data, encryptionPadding)); } else { return(rsaUtil.Encrypt(data, encryptionPadding)); } }
public static string RSAencryupt(RSAUtilBase rSAUtilBase, RSAEncryptionPadding rSAEncryptionPadding, string data) => rSAUtilBase.Encrypt(data, rSAEncryptionPadding);