Exemplo n.º 1
0
        private static void StoreEncryptedFileInTemporaryMemory(Message message)
        {
            message.TemporaryDownloadId =
                SymmetricCryptoProvider.GenerateKeyPhrase(64);

            HomeController.FilePasswords.Add(message.TemporaryDownloadId,
                                             new TemporaryDownloadKey
            {
                Expires    = DateTime.Now.AddSeconds(HomeController.PasswordExpiresInSeconds),
                MessageId  = message.MessageId,
                Passphrase = message.EncryptionKey
            });
        }
Exemplo n.º 2
0
        private void GenerateKeys(decimal keySize, decimal numberOfKeys)
        {
            StringBuilder keys = new StringBuilder();

            for (int i = 1; i < numberOfKeys + 1; i++)
            {
                string key;
                if (chkCreatepronounceablepasswords.Checked)
                {
                    key = PronounceablePasswordGenerator.Generate((int)keySize);
                }
                else
                {
                    key = SymmetricCryptoProvider.GenerateKeyPhrase((int)keySize).TrimEnd(Convert.ToChar("="));
                }

                int groupSize = (int)numGroupSize.Value;

                if (chkGroupIntoPairs.Checked && groupSize > 0)
                {
                    string groupedKey = "";

                    for (int j = 0; j < key.Length; j++)
                    {
                        groupedKey += key[j];

                        if ((j + 1) % groupSize == 0)
                        {
                            groupedKey += "-";
                        }
                    }

                    groupedKey = groupedKey.TrimEnd('-');

                    keys.AppendLine(string.Format("{0}, {1}", i, groupedKey));
                }
                else
                {
                    keys.AppendLine(string.Format("{0}, {1}", i, key));
                }
            }

            txtkeys.Text = keys.ToString();
        }
Exemplo n.º 3
0
        private static void StoreEncryptedFileInTemporaryMemory(Message message)
        {
            message.TemporaryDownloadId =
                SymmetricCryptoProvider.GenerateKeyPhrase(64);

            FilePasswords.Add(message.TemporaryDownloadId,
                              new TemporaryDownloadKey
            {
                Expires    = DateTime.Now.AddSeconds(PasswordExpiresInSeconds),
                MessageId  = message.MessageId,
                Passphrase = message.EncryptionKey
            });

            // get filename
            byte[] decryptedArray = Convert.FromBase64String(message.MessageData);

            var zipStream = new MemoryStream(decryptedArray);

            using (ZipFile zip = ZipFile.Read(zipStream))
            {
                message.MessageData = zip.First().FileName;
            }
        }