DotNet.Authorize/RSA/RSAUtils.cs

(开头部分) 4KB

这里只显示每个文件的开头 60 行。登录后可以解锁完整代码。

using System.IO;
using System.Security.Cryptography;

namespace DotNet.Authorize
{
    public class RSAUtils
    {
        /// <summary>
        /// RSA密钥信息
        /// </summary>
        private RSAKeyInfo _RSAKeyInfo;

        /// <summary>
        /// 构造函数
        /// </summary>
        /// <param name="rsaKeyInfo">RSA密钥</param>
        public RSAUtils(RSAKeyInfo rsaKeyInfo)
        {
            _RSAKeyInfo = rsaKeyInfo;
        }

        /// <summary>
        /// 创建私钥
        /// </summary>
        /// <returns></returns>
        public RSACryptoServiceProvider CreateRSAProvider()
        {
            RSAParameters param1 = new RSAParameters();
            param1.Modulus = _RSAKeyInfo.Modulus;
            param1.Exponent = _RSAKeyInfo.Exponent;
            param1.D = _RSAKeyInfo.D;
            param1.DP = _RSAKeyInfo.DP;
            param1.DQ = _RSAKeyInfo.DQ;
            param1.P = _RSAKeyInfo.P;
            param1.Q = _RSAKeyInfo.Q;
            param1.InverseQ = _RSAKeyInfo.InverseQ;
            CspParameters param2 = new CspParameters();
            param2.Flags = CspProviderFlags.UseMachineKeyStore;
            RSACryptoServiceProvider provider1 = new RSACryptoServiceProvider(param2);
            provider1.ImportParameters(param1);
            return provider1;
        }

        /// <summary>
        /// 创建私钥(格式化)
        /// </summary>
        /// <returns></returns>
        public RSAPKCS1SignatureFormatter CreateRSAFormatter()
        {
            RSAParameters param1 = new RSAParameters();
            param1.Modulus = _RSAKeyInfo.Modulus;
            param1.Exponent = _RSAKeyInfo.Exponent;
            param1.D = _RSAKeyInfo.D;
            param1.DP = _RSAKeyInfo.DP;
            param1.DQ = _RSAKeyInfo.DQ;
            param1.P = _RSAKeyInfo.P;
            param1.Q = _RSAKeyInfo.Q;
            param1.InverseQ = _RSAKeyInfo.InverseQ;
            CspParameters param2 = new CspParameters();
            param2.Flags = CspProviderFlags.UseMachineKeyStore;
后面还有 64 行代码,购买后查看完整代码

24 小时内免费解锁 3 个项目,之后 1 算力/个。 规则说明

AI 解读 AI

登录后可用,每次 10 算力,解读结果公开显示在下面。

还没有人解读过这个文件。