"Kodowanie" hasła dla uzytkownika w MSSQL

0

Nie chciałbym floodowac, moj temat jest zwiazany z http://4programmers.net/Forum/C_i_.NET/181128-hashowanie_md5 tematem, ale chce spytac o cos troszke odmiennego.

Mianowicie, jak załozyc w bazie danych uzytkownika z zakodowanym hasłem? Chcialbym uzytkownika test 1 z loginem test i hasłem 123.

Najpierw wyliczyłem sobie hash z hasła:


Hash wygenerowałem w nastepujacy sposób
```csharp
DECLARE @HashThis nvarchar(4000);
SELECT @HashThis = CONVERT(nvarchar(4000),'123');
SELECT HashBytes('MD5', @HashThis);
GO

I otrzymałem wartosc: 0x5FA285E1BEBE0A6623E33AFC04A1FBD5

Nastepnie zalozylem login i uzytkownika

Create login test with password = 0x5FA285E1BEBE0A6623E33AFC04A1FBD5 HASHED
Create user test1 for login test

No i probuje sie zalogowac do SQL Managment Studio na login test i hasło "123" i mnie nie wpuszcza.. Mozecie mi powiedziec, co robie zle? (bo cos na pewno robie nie tak). Trzeba jakas opcje odhaczyc gdzies na serwerze?

1

http://msdn.microsoft.com/en-us/library/ms189751.aspx

HASHED
Applies to SQL Server logins only. Specifies that the password entered after the PASSWORD argument is already hashed. If this option is not selected, the string entered as password is hashed before it is stored in the database. This option should only be used for migrating databases from one server to another. Do not use the HASHED option to create new logins.

0

Ok, czyli jak powinna wygladac skladnia przy zakładaniu NOWEGO loginu? Bo musze w skrypcie tworzacym baze zalozyc nowego uzytkownika, ale nie koniecznie chce hasło podawac jawnie. Bo jesli wykasuje słowo HASHED wywala mi bład
"Incorrect syntax near 'password'."

Jesli zas wrzuce w apostrofy ten hash, to on traktuje to jako hasło, a nie hash hasła.

1 użytkowników online, w tym zalogowanych: 0, gości: 1