示例#1
0
        public ODSecurity OpenODSecurity(string HashedPass)  // Decrypts and opens ODSecurity
        {
            ODSecurity mySecurity = new ODSecurity();
            FileStream fs         = new FileStream("mySecFile.ods", FileMode.Open);
            Rijndael   rijndael   = Rijndael.Create();

            rijndael.Key     = Encoding.ASCII.GetBytes(HashedPass.Substring(0, 32)); // To be entered
            rijndael.IV      = Encoding.ASCII.GetBytes(HashedPass.Substring(32, 16));
            rijndael.Padding = PaddingMode.None;
            ICryptoTransform iCryptoTransform = rijndael.CreateDecryptor();
            CryptoStream     cryptoStream     = new CryptoStream(fs, iCryptoTransform, CryptoStreamMode.Read);

            byte[] buffer = new byte[80];
            cryptoStream.Read(buffer, 0, buffer.Length);
            for (int iter = 0; iter < Key.Length; iter++)
            {
                mySecurity.Key[iter] = buffer[iter];
            }
            for (int iter = 0; iter < IV.Length; iter++)
            {
                mySecurity.IV[iter] = buffer[iter + Key.Length];
            }
            mySecurity.guid = Encoding.ASCII.GetString(buffer).Substring(48, 32);
            fs.Close();
            return(mySecurity);
        }
示例#2
0
        private void button4_Click(object sender, EventArgs e)
        {
            ODSecurity _ods     = new ODSecurity();
            string     password = GetSha384Password(passwordTextbox.Text);

            _ods.SaveODSecurity(password);
            textBox1.Text = "Save completed!";
        }
示例#3
0
        private void OpenODSButton_Click(object sender, EventArgs e)
        {
            string password = null;

            if (passwordTextbox.Text != null)
            {
                password = GetSha384Password(passwordTextbox.Text);
            }
            else
            {
                MessageBox.Show("Password is empty!");
                return;
            }
            try
            {
                ods = new ODSecurity().OpenODSecurity(password);
            }
            catch (Exception exc)
            {
                MessageBox.Show(exc.Message);
            }
        }