WEB开发网
开发学院软件开发C语言 C# 基于大整数类的RSA算法实现(公钥加密解密,私... 阅读

C# 基于大整数类的RSA算法实现(公钥加密解密,私钥加密解密)

 2009-04-27 08:27:42 来源:WEB开发网   
核心提示: 二、加密处理(分别对应两种密钥取得方式)公钥加密 /// <summary> /// 通过公钥加密 /// </summary> /// <param name="dataStr">待加密字符串</param> /// &

二、加密处理(分别对应两种密钥取得方式)

公钥加密

        /// <summary>
        /// 通过公钥加密
        /// </summary>
        /// <param name="dataStr">待加密字符串</param>
        /// <returns>加密结果</returns>
        public byte[] EncryptByPublicKey(string dataStr)
        {
            //取得公钥参数
            RSAParameters rsaparameters = RSA.ExportParameters(false);
            byte[] keyN = rsaparameters.Modulus;
            byte[] keyE = rsaparameters.Exponent;
            //大整数N
            BigInteger biN = new BigInteger(keyN);
            //公钥大素数
            BigInteger biE = new BigInteger(keyE);
            //加密
            return EncryptString(dataStr, biE, biN);
        }

        /// <summary>
        /// 通过公钥加密
        /// </summary>
        /// <param name="dataStr">待加密字符串</param>
        /// <param name="n">大整数n</param>
        /// <param name="e">公钥</param>
        /// <returns>加密结果</returns>
        public byte[] EncryptByPublicKey(string dataStr,string n,string e)
        {
            //大整数N
            BigInteger biN = new BigInteger(n,16);
            //公钥大素数
            BigInteger biE = new BigInteger(e,16);
            //加密
            return EncryptString(dataStr, biE, biN);
        }

上一页  1 2 3 4 5 6 7 8  下一页

Tags:基于 整数 RSA

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接