예제 #1
0
        /// <summary>
        /// 使用私钥签名
        /// </summary>
        /// <param name="data">原始数据</param>
        /// <returns></returns>
        public string Sign(string data)
        {
            byte[] dataBytes = _encoding.GetBytes(data);

            var signatureBytes = _privateKeyRsaProvider.SignData(dataBytes, _hashAlgorithmName, RSASignaturePadding.Pkcs1);

            if (IsBase64)
            {
                return(Convert.ToBase64String(signatureBytes));
            }
            else
            {
                return(HexByte.ByteToHexStr(signatureBytes));
            }
        }
예제 #2
0
 public string Encrypt(string text)
 {
     if (_publicKeyRsaProvider == null)
     {
         throw new ArgumentNullException("_publicKeyRsaProvider is null");
     }
     byte[] textBits = _publicKeyRsaProvider.Encrypt(_encoding.GetBytes(text), RSAEncryptionPadding.Pkcs1);
     if (IsBase64)
     {
         return(Convert.ToBase64String(textBits));
     }
     else
     {
         return(HexByte.ByteToHexStr(textBits));
     }
 }