DotNet.Authorize/RSA/RSAPrivateKey.cs

(开头部分) 3KB

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

using System;
using System.Collections.Generic;
using System.IO;
using System.Security.Cryptography;
using System.Xml;
using System.Windows.Forms;

namespace DotNet.Authorize
{
    /// <summary>
    /// RSA私钥
    /// </summary>
    public class RSAPrivateKey
    {
        private string _modulus;
        private string _exponent;
        private string _d;
        private string _dP;
        private string _p;
        private string _q;
        private string _dQ;
        private string _inverseQ;

        /// <summary>
        /// 构造函数
        /// </summary>
        /// <param name="xmlFilePublicKey">公钥文件</param>
        public RSAPrivateKey(string xmlFilePublicKey)
        {
            try
            {
                StreamReader reader1 = new StreamReader(xmlFilePublicKey);
                XmlDocument document1 = new XmlDocument();
                document1.LoadXml(reader1.ReadToEnd());
                XmlElement element1 = (XmlElement)document1.SelectSingleNode("root");
                _modulus = DotNet.Authorize.XmlHelper.ReadChild(element1, "Modulus");
                _exponent = DotNet.Authorize.XmlHelper.ReadChild(element1, "Exponent");
                _d = DotNet.Authorize.XmlHelper.ReadChild(element1, "D");
                _dP = DotNet.Authorize.XmlHelper.ReadChild(element1, "DP");
                _dQ = DotNet.Authorize.XmlHelper.ReadChild(element1, "DQ");
                _p = DotNet.Authorize.XmlHelper.ReadChild(element1, "P");
                _q = DotNet.Authorize.XmlHelper.ReadChild(element1, "Q");
                _inverseQ = DotNet.Authorize.XmlHelper.ReadChild(element1, "InverseQ");
            }
            catch (Exception ex)
            {
                throw new Exception("解析私钥文件出错!", ex);
            }
        }

        public string PrivateKey
        {
            get
            {
                return Authorize.RSAKeyInfo.ComponentKey(D, Modulus);
            }
        }

        public byte[] Modulus
        {
后面还有 63 行代码,购买后查看完整代码

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

AI 解读 AI

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

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