Где Вы храните свои соленые строки?

Просто чтобы быть в курсе.
Более новые версии могут делать некоторые простые преобразования автоматически

    public class Source
    {
        public string String{ get; set; }
    }

    public class Target
    {
        public int Int { get; set; }
        public decimal Decimal{ get; set; }
    }

    [Fact]
    public void TestCustomMap()
    {
        Mapper.Initialize(cfg =>
            cfg.CreateMap<Source, Target>()
                .ForMember(dest => dest.Int, opt => opt.MapFrom(src => src.String))
                .ForMember(dest => dest.Decimal, opt => opt.MapFrom(src => src.String)));

        var target = Mapper.Instance.Map<Target>(new Source { String = "123" });
        Assert.Equal(expected: 123, actual: target.Int);
        Assert.Equal(expected: 123m, actual: target.Decimal);

        //This will throw an exception
        //Mapper.Instance.Map<Target>(new Source { String = "123.2" });
    }
242
задан friedo 2 August 2009 в 10:27
поделиться

2 ответа

Суть радужных таблиц в том, что они создаются заранее и массово распространяются, чтобы сэкономить время вычислений для других - это занимает столько же long, чтобы генерировать радужные таблицы на лету, как если бы просто взломать комбинацию пароль + соль напрямую (поскольку фактически то, что делается при создании радужных таблиц, - это предварительный запуск вычислений для перебора хеша), таким образом, аргумент, что зная соль, которую кто-то может «создать радужную таблицу», является ложной.

Нет никакого смысла хранить соли в отдельном файле, если они 're для каждого пользователя - суть проблемы в том, чтобы просто сделать так, чтобы одна радужная таблица не могла взломать каждый пароль в БД.

248
ответ дан 23 November 2019 в 03:14
поделиться

Часто они добавляются к хешу и сохраняются в одном поле.

Нет необходимости хранить их отдельно - суть в том, чтобы использовать случайную соль для каждого пароля, чтобы единая радужная таблица не может использоваться против всего вашего набора хэшей паролей. При использовании случайных солей злоумышленник должен перебирать каждый хэш отдельно (или вычислять радужную таблицу для всех возможных солей - гораздо больше работы).

Если бы у вас было более безопасное место хранения, было бы разумно просто хранить хеши там.

23
ответ дан 23 November 2019 в 03:14
поделиться
Другие вопросы по тегам:

Похожие вопросы: