コード例 #1
0
        public static byte[] RSAEncrypt(byte[] DataToEncrypt, bool DoOAEPPadding = false)
        {
            try
            {
                return(RSAService.Encrypt(DataToEncrypt, DoOAEPPadding));
            }
            catch (CryptographicException e)
            {
                Console.WriteLine(e.Message);

                return(null);
            }
        }
コード例 #2
0
        public void GenerateKey()
        {
            try
            {
                string publicKey, privateKey;

                if (!File.Exists(KeysFile))
                {
                    RSACryptoServiceProvider rsa = new RSACryptoServiceProvider();

                    publicKey  = rsa.ToXmlString(false);
                    privateKey = rsa.ToXmlString(true);

                    File.WriteAllText(KeysFile, publicKey + Environment.NewLine + privateKey);
                    rsa.Dispose();
                }
                else
                {
                    var lines = File.ReadAllLines(KeysFile);

                    publicKey  = lines[0];
                    privateKey = lines[1];
                }

                if (!File.Exists(EncFile))
                {
                    RSAService.Encrypt(publicKey, Strings.Generate(32), EncFile);

                    SymmetricalKey = File.ReadAllText(EncFile);
                }
                else
                {
                    SymmetricalKey = File.ReadAllText(EncFile);
                }
            } catch (Exception e) { }
        }