コード例 #1
0
ファイル: EncryptionDataService.cs プロジェクト: kickgod/lab
        /// <summary>
        /// 对RSA加密后的数据进行解密
        /// </summary>
        /// <param name="EncodedData">已经加密数据</param>
        /// <returns>原来的数据</returns>
        public string DecryptByRsa(string EncodedData)
        {
            var    rsa   = new RSAHelper(RSAType.RSA2, Encoding.UTF8, privateKey, publicKey);
            string deStr = rsa.Decrypt(EncodedData);

            return(deStr);

            /* 它不支持跨平台
             * CspParameters param = new CspParameters();
             * param.KeyContainerName = EncodeKey;
             * using (RSACryptoServiceProvider rsa = new RSACryptoServiceProvider(param))
             * {
             *  byte[] encryptdata = Convert.FromBase64String(EncodedData);
             *  byte[] decryptdata = rsa.Decrypt(encryptdata, false);
             *  return Encoding.Default.GetString(decryptdata);
             * }
             */
        }
コード例 #2
0
ファイル: EncryptionDataService.cs プロジェクト: kickgod/lab
        /// <summary>
        ///  使用对称加密 密钥为上面
        /// </summary>
        /// <param name="Data">待加密数据</param>
        /// <returns>已经加密数据</returns>
        public string EncodeByRsa(string Data)
        {
            var    rsa   = new RSAHelper(RSAType.RSA2, Encoding.UTF8, privateKey, publicKey);
            string enStr = rsa.Encrypt(Data);

            return(enStr);

            /* 它不支持跨平台
             * CspParameters param = new CspParameters();
             * param.KeyContainerName = EncodeKey;//密匙容器的名称,保持加密解密一致才能解密成功
             * using (RSACryptoServiceProvider rsa = new RSACryptoServiceProvider(param))
             * {
             *  byte[] plaindata = Encoding.Default.GetBytes(Data);//将要加密的字符串转换为字节数组
             *  byte[] encryptdata = rsa.Encrypt(plaindata, false);//将加密后的字节数据转换为新的加密字节数组
             *  return Convert.ToBase64String(encryptdata);//将加密后的字节数组转换为字符串
             * }
             */
        }
コード例 #3
0
ファイル: EncryptionDataService.cs プロジェクト: kickgod/lab
        /// <summary>
        /// 公钥验证签名
        /// </summary>
        /// <param name="str"></param>
        /// <param name="sStr"></param>
        /// <returns></returns>
        public Boolean RsaVerify(String str, String sStr)
        {
            var rsa = new RSAHelper(RSAType.RSA2, Encoding.UTF8, privateKey, publicKey);

            return(rsa.Verify(str, sStr));
        }
コード例 #4
0
ファイル: EncryptionDataService.cs プロジェクト: kickgod/lab
        /// <summary>
        /// 返回私钥签名
        /// </summary>
        /// <param name="str"></param>
        /// <returns></returns>
        public String RsaSign(String str)
        {
            var rsa = new RSAHelper(RSAType.RSA2, Encoding.UTF8, privateKey, publicKey);

            return(rsa.Sign(str));
        }