예제 #1
0
        /// <summary>
        /// Déchiffre un mot de passe surchiffré
        /// </summary>
        /// <param name="chaine">la chaine à déchiffrer</param>
        /// <returns>la chaine en clair</returns>
        public static string DechiffrementStringSurchiffre(string chaine)
        {
            var intermed = CryptUtils.AesDecryptStringToString(chaine, MotDePasseBSurchiffrement, SaltBSurchiffrement);

            intermed = intermed.Replace(SuffixeSurchiffrement, "");
            intermed = intermed.Replace(PrefixeSurchiffrement, "");
            return(CryptUtils.AesDecryptStringToString(intermed, MotDePasseASurchiffrement, SaltASurchiffrement));
        }
예제 #2
0
        /// <summary>
        /// Récupère les mots de passe de texte
        /// </summary>
        /// <returns>les erreurs si il y en a</returns>
        public string RecupTexte()
        {
            var erreur = Validate();

            if (string.IsNullOrWhiteSpace(erreur))
            {
                try
                {
                    //déchiffrement
                    var data = CryptUtils.AesDecryptStringToString(Texte, CryptKey, CryptSalt);

                    //deserialization
                    var xsb = new XmlSerializer(typeof(ObservableCollection <MotDePasse>));
                    var rd  = new StringReader(data);
                    ListeMdpRecup = xsb.Deserialize(rd) as ObservableCollection <MotDePasse>;
                }
                catch
                {
                    erreur += ResourceLoader.GetForCurrentView("Errors").GetString("erreurDechiffrementb");
                }
            }

            return(erreur);
        }