12.08.2010

Шифрование паролей на уровне SQL

Дарофф

Шифрование паролей это одна из очень распространенных вопросов при разработке приложений. Как шифровать? Как хранить? Как проверять? в поисках актуальных решений нашел вариант решения на уровне самого SQL...
Начиная с MSSQL сервера версии 6.x, для шифрования данных можно использовать функцию ENCRYPT, которая использует тот же метод шифрования , что и операция WITH ENCRYPTION.
Примеры:
  1.  SELECT ENCRYPT('TestPW1') Получим: 0x5400650073007400500057003100
  2. Пример внесения пароля в базу:
    INSERT INTO users values('user',ENCRYPT('pass'))
  3. Пример проверки пароля по базе:
    SELECT * from users where UserLogin = 'user' and Password = ENCRYPT('pass')
  4. Не забудьте что функция ENCRYPT чувствительно к регистру, можете использовать функцию UPPER:
    INSERT INTO users values('User1',ENCRYPT(UPPER('PaSs')))


Комментариев нет:

LinkWithin

halt Related Posts with Thumbnails