Beispiel #1
0
 /// <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);
     }
 }
Beispiel #2
0
        /// <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));
            }
        }
Beispiel #3
0
 public static string RSADecrypt(RSAUtilBase rSAUtilBase, RSAEncryptionPadding rSAEncryptionPadding, string data) => _RSAUtilBase.Decrypt(data, rSAEncryptionPadding);