Генерировать пароль соли с помощью ColdFusion, эквивалентное членство to.NET пароль соль


Я искал эквивалент приведенного ниже метода / функции из .NET для ColdFusion. У меня есть таблицы членства ASP с ASP.NET сайт работает на базе данных. Та же база данных используется для сайта ColdFusion. Идея состоит в том, чтобы разработать сайт ASP с текущей базой данных, которая использовалась сайтом ColdFusion. Эти два сайта будут работать параллельно в течение по крайней мере 3-6 месяцев, что позволит пользователю подключиться с любого из них. Создание пользователя также может происходить с любой стороны. Из .NET у меня есть все рассортировалось. Но в холодном состоянии я все еще борюсь.

private string GenerateSalt() {
        var buf = new byte[16];
        (new RNGCryptoServiceProvider()).GetBytes(buf);
        return Convert.ToBase64String(buf);
   }
2 3

2 ответа:

Я нашел кое-что очень простое. Это может быть не тот же крипто сервис, но он генерирует ту же длину и формат, что и выше.

GenerateSecretKey("AES")

Вот так просто. Может быть, это поможет кому-то в будущем.

Нет чистого эквивалента CF. Однако эквивалентом java является SecureRandom:

Криптографически сильное случайное число минимально соответствует статистические тесты генератора случайных чисел, указанные в FIPS 140-2, Требования к безопасности криптографических модулей , раздел 4.9.1. Кроме того, SecureRandom должен выдавать недетерминированный результат. Поэтому любой семенной материал, переданный объекту SecureRandom, должен быть непредсказуемо, и все Выходные последовательности SecureRandom должны быть криптографически сильный, как описано в RFC 1750: случайность Рекомендации по обеспечению безопасности.

Пример:

<cfscript>
    provider = createObject("java", "java.security.SecureRandom").getInstance("SHA1PRNG");
    bytes = javacast("byte[]", listToArray(repeatString("0,", 16)));
    provider.nextBytes( bytes ) ;   
    saltInBase64 = binaryEncode( bytes, "base64");
</cfscript>