Exemple #1
0
        private bool Verification(string key)
        {
            byte[] b = new byte[len_verified];
            fs.Seek(len_header, SeekOrigin.Begin);
            fs.Read(b, 0, len_verified);
            LPS_VERIFIED lv = (LPS_VERIFIED)b.XorCrypt(MAGIC).ToStruct(typeof(LPS_VERIFIED));

            byte[] pwd = new byte[HEADER.H_PWD_ACT_LEN];
            Array.Copy(lv.VE_KEY, 0, pwd, 0, pwd.Length);
            return(Encoding.ASCII.GetString(pwd).Equals(key));
        }
Exemple #2
0
 public void Initialize(int Magic, string signature, string dest, byte[] EncKey = null)
 {
     magic      = Magic;
     header     = new LPS_HEADER();
     lve        = new LPS_VERIFIED();
     lve.VE_KEY = new byte[26];
     if (EncKey != null)
     {
         header.H_PWD_ACT_LEN = EncKey.Length;
         Array.Copy(EncKey, 0, lve.VE_KEY, 0, EncKey.Length);
     }
     header.H_MAGIC     = EncKey == null ? Magic : Magic.XorEncrypt(EncKey);
     header.H_FH_LOC    = new long[32];
     header.H_SIG       = signature;
     header.H_ENCRYPTED = EncKey != null;
     if (File.Exists(dest))
     {
         File.Delete(dest);
     }
     fs = new FileStream(dest, FileMode.OpenOrCreate);
 }