Поддерживает ли Asp пароли Hash (bcrypt), как в PHP

Есть ли способ использовать пароли Hash (bcrypt) в ASP, например, в PHP... ниже будет код для PHP, но какова альтернатива для ASP... это то же самое и просто изменить ситуацию? поддерживает ли ASP Hash (bcrypt) или есть другой способ? пожалуйста, просветите меня в этой ситуации...

PHP будет

$link = mysql_connect('localhost', 'wpscanner', 'aUvmxcxvTUPtW8Kw')
    or die('Not connected : ' . mysql_error());
mysql_select_db('wpscanner', $link)
    or die ('Not selected : ' . mysql_error());

$password = mysql_real_escape_string($_GET['password']);
$email = mysql_real_escape_string($_GET['email']);

//This string tells crypt to use blowfish for 5 rounds.
$Blowfish_Pre = '$2a$05$';
$Blowfish_End = '$';

PHP-код, необходимый для регистрации пользователя

// Blowfish accepts these characters for salts.
$Allowed_Chars =
'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789./';
$Chars_Len = 63;

// 18 would be secure as well.
$Salt_Length = 21;

$mysql_date = date( 'Y-m-d' );
$salt = "";

for($i=0; $i<$Salt_Length; $i++)
{
    $salt .= $Allowed_Chars[mt_rand(0,$Chars_Len)];
}
$bcrypt_salt = $Blowfish_Pre . $salt . $Blowfish_End;

$hashed_password = crypt($password, $bcrypt_salt);

$sql = 'INSERT INTO users (reg_date, email, salt, password) ' .
  "VALUES ('$mysql_date', '$email', '$salt', '$hashed_password')";

mysql_query($sql) or die( mysql_error() );

person SnowmanOnFire    schedule 15.05.2013    source источник
comment
да .. это в здесь   -  person Christian Mark    schedule 15.05.2013
comment
спасибо, но это для asp.net в С#, я хочу его для asp classic в VB. любые предложения...   -  person SnowmanOnFire    schedule 15.05.2013
comment
Прости. Вы не указываете язык, который используете. Не все время, когда ASP.NET использует VB   -  person Christian Mark    schedule 15.05.2013


Ответы (1)


Если ваша цель — сохранить хэш пароля в базе данных, вы можете использовать SHA256. См. мой ответ здесь SHA256 с классическим ASP

Но не забывайте использовать соль!

person Sander_P    schedule 15.05.2013
comment
Нет, использование такой функции, как bcrypt, определенно лучше в криптографическом смысле, чем использование SHA-256. - person Maarten Bodewes; 20.05.2013
comment
@owlstead Если вы знаете о классической реализации bcrypt ASP VB, сообщите нам об этом. ОП попросил альтернативы, и AFAIK SHA256 - лучшее, что вы можете сделать с Classic ASP VB. Но я не против оказаться неправым :-) - person Sander_P; 20.05.2013
comment
И под «лучшее, что вы можете сделать» я имею в виду «готовое». Потому что существуют реализации bcrypt на Javascript, которые можно превратить в объект JScript, который затем можно использовать из ASP VB. - person Sander_P; 20.05.2013
comment
Было бы лучше, если бы вы хотя бы посолили пароль, просто предполагая, что SHA-256 относительно опасен, он будет подвержен атакам с радужными таблицами, и идентичные пароли будут хешироваться до одного и того же значения. Обычно я бы просто создал реализацию bcrypt, но я очень ограничен во времени. - person Maarten Bodewes; 20.05.2013
comment
Я предположил, что будет использоваться код OP, который уже использует соль. Но вы правы. я обновлю свой ответ - person Sander_P; 21.05.2013
comment
Также очень важно достаточно часто повторять хеш-функцию. 10000 наверное подойдет. - person CodesInChaos; 25.05.2013
comment
SHA512 в Classic ASP (с использованием встроенных компонентов .Net, доступных на любом сервере Windows) amadiere.com/blog/2011/02/c-net-classic-asp-password-hashing - person Digs; 25.04.2015