Exemple #1
0
        public static NCryptoParms EncryptCode(string decData, string spKey)
        {
            NCryptoParms     parms = new NCryptoParms();
            ICryptoTransform encryptor;
            CryptoStream     cStream;
            MemoryStream     mStream = new MemoryStream();

            try {
                // Generate a new RSA public/private key pair
                // This key will be used to signature the DES IV and Key.
                RSACryptoServiceProvider jRsa = new RSACryptoServiceProvider();

                byte[] signature = jRsa.SignData(sign, new MD5CryptoServiceProvider());

                parms.jpbkey =
                    Convert.ToBase64String(Encoding.ASCII.GetBytes(jRsa.ToXmlString(false)));
                parms.jprkey =
                    Convert.ToBase64String(Encoding.ASCII.GetBytes(jRsa.ToXmlString(true)));
                parms.signature = Convert.ToBase64String(signature);
                jRsa.Clear();

                RSACryptoServiceProvider rsa = new RSACryptoServiceProvider();
                rsa.FromXmlString(
                    Encoding.ASCII.GetString(Convert.FromBase64String(spKey)));

                DESCryptoServiceProvider des = new DESCryptoServiceProvider();
                des.GenerateIV();
                des.GenerateKey();

                parms.key = Convert.ToBase64String(rsa.Encrypt(des.Key, false));
                parms.iv  = Convert.ToBase64String(rsa.Encrypt(des.IV, false));

                encryptor = des.CreateEncryptor(des.Key, des.IV);
                cStream   = new CryptoStream(mStream, encryptor, CryptoStreamMode.Write);

                byte[] bytesIn = Encoding.ASCII.GetBytes(decData);

                cStream.Write(bytesIn, 0, bytesIn.Length);
                cStream.FlushFinalBlock();
                cStream.Close();

                byte[] bytesOut = mStream.ToArray();
                mStream.Close();

                parms.enc = Convert.ToBase64String(bytesOut);
            } catch {
                mStream.Close();
            }
            return(parms);
        }
Exemple #2
0
    public static NCryptoParms EncryptCode(string decData, string spKey) {
      NCryptoParms parms = new NCryptoParms();
      ICryptoTransform encryptor;
      CryptoStream cStream;
      MemoryStream mStream = new MemoryStream();

      try {
        // Generate a new RSA public/private key pair
        // This key will be used to signature the DES IV and Key.
        RSACryptoServiceProvider jRsa = new RSACryptoServiceProvider();

        byte[] signature = jRsa.SignData(sign, new MD5CryptoServiceProvider());

        parms.jpbkey =
          Convert.ToBase64String(Encoding.ASCII.GetBytes(jRsa.ToXmlString(false)));
        parms.jprkey =
          Convert.ToBase64String(Encoding.ASCII.GetBytes(jRsa.ToXmlString(true)));
        parms.signature = Convert.ToBase64String(signature);
        jRsa.Clear();

        RSACryptoServiceProvider rsa = new RSACryptoServiceProvider();
        rsa.FromXmlString(
          Encoding.ASCII.GetString(Convert.FromBase64String(spKey)));

        DESCryptoServiceProvider des = new DESCryptoServiceProvider();
        des.GenerateIV();
        des.GenerateKey();

        parms.key = Convert.ToBase64String(rsa.Encrypt(des.Key, false));
        parms.iv = Convert.ToBase64String(rsa.Encrypt(des.IV, false));

        encryptor = des.CreateEncryptor(des.Key, des.IV);
        cStream = new CryptoStream(mStream, encryptor, CryptoStreamMode.Write);

        byte[] bytesIn = Encoding.ASCII.GetBytes(decData);

        cStream.Write(bytesIn, 0, bytesIn.Length);
        cStream.FlushFinalBlock();
        cStream.Close();

        byte[] bytesOut = mStream.ToArray();
        mStream.Close();

        parms.enc = Convert.ToBase64String(bytesOut);
      } catch {
        mStream.Close();
      }
      return parms;
    }