public static string SerializeXml(SPMScheme scheme)
 {
     try
     {
         return(SerializationHelper.SerializeXml(scheme));
     }
     catch (Exception e)
     {
         // TODO: log
         return(null);
     }
 }
 public SPMScheme(SPMScheme o)
 {
     fields = new List <SPMSchemeField>(o.fields.Count);
     foreach (var field in o.fields)
     {
         fields.Add(new SPMSchemeField(field));
     }
     name            = o.name;
     description     = o.description;
     crypto          = o.crypto;
     timeToHashType  = o.timeToHashType;
     timeToHashParam = o.timeToHashParam;
     processType     = o.processType;
 }
Beispiel #3
0
        public static PasswordGenerator GetPwdGenerator(SPMScheme scheme, List <string> salts, bool overrideProcess = false, SPMSchemeProcessType process = SPMSchemeProcessType.NO_EFFECT)
        {
            if (scheme == null || salts == null || scheme.Fields.Count != salts.Count)
            {
                return(null);
            }

            PasswordGenerator gen = new PasswordGenerator(GetHashingServiceProvider(scheme.Crypto),
                                                          GetPostHashingProcessor(overrideProcess ? process : scheme.ProcessType));

            for (int i = 0; i < scheme.Fields.Count; ++i)
            {
                gen.AddSalt(GetSaltingServiceProvider(scheme.Fields[i].SaltingType), salts[i]);
            }

            return(gen);
        }