Exemple #1
0
 /// <summary>
 /// 签名
 /// </summary>
 /// <param name="baseObj"></param>
 /// <param name="signData"></param>
 /// <returns></returns>
 public static string SignData(RSAUtilBase baseObj, string signData)
 {
     if (baseObj is null)
     {
         throw new ArgumentNullException(nameof(baseObj));
     }
     try
     {
         return(baseObj.SignData(signData, HashAlgorithmName.SHA256, RSASignaturePadding.Pkcs1));
     }
     catch (Exception ex)
     {
         return(ex.Message);
     }
 }
Exemple #2
0
 /// <summary>
 /// 验证签名
 /// </summary>
 /// <param name="baseObj"></param>
 /// <param name="data"></param>
 /// <param name="sign"></param>
 /// <returns></returns>
 public static bool SignData(RSAUtilBase baseObj, string data, string sign)
 {
     if (baseObj is null)
     {
         throw new ArgumentNullException(nameof(baseObj));
     }
     try
     {
         return(baseObj.VerifyData(data, sign, HashAlgorithmName.SHA256, RSASignaturePadding.Pkcs1));
     }
     catch
     {
         throw new ArgumentNullException(nameof(baseObj));
     }
 }
Exemple #3
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);
     }
 }
Exemple #4
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));
            }
        }
Exemple #5
0
        /// <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));
            }
        }
Exemple #6
0
 public static string RSAencryupt(RSAUtilBase rSAUtilBase, RSAEncryptionPadding rSAEncryptionPadding, string data) => rSAUtilBase.Encrypt(data, rSAEncryptionPadding);
Exemple #7
0
 public static bool RSAVerifyData(RSAUtilBase rSAUtilBase, HashAlgorithmName hashAlgorithmName, RSASignaturePadding rSASignaturePadding, string data, string sign) =>
 _RSAUtilBase.VerifyData(data, sign, hashAlgorithmName, rSASignaturePadding);
Exemple #8
0
 public static string RSASignData(RSAUtilBase rSAUtilBase, HashAlgorithmName hashAlgorithmName, RSASignaturePadding rSASignaturePadding, string data) => _RSAUtilBase.SignData(data, hashAlgorithmName, rSASignaturePadding);
Exemple #9
0
 public static string RSADecrypt(RSAUtilBase rSAUtilBase, RSAEncryptionPadding rSAEncryptionPadding, string data) => _RSAUtilBase.Decrypt(data, rSAEncryptionPadding);
Exemple #10
0
 public RSAHelper(RSAUtilBase rSAUtilBase)
 {
     _RSAUtilBase = rSAUtilBase;
 }