Есть ли эквивалент в SHA1 () в MS-SQL? - PullRequest
31 голосов
/ 08 октября 2008

Преобразование пары хранимых процедур из MySQL в сервер Microsoft SQL. Все идет хорошо, кроме одной процедуры, использующей функцию MySQL SHA1(). Я не могу найти эквивалент этого в MS-SQL.

Кто-нибудь знает действительный эквивалент SHA1() в MS-SQL?

Ответы [ 5 ]

46 голосов
/ 08 октября 2008

SQL Server 2005 и более поздние версии имеют функцию HashBytes () .

19 голосов
/ 31 августа 2012

Если вы хотите получить хеш SHA1 в точности так, как его сгенерирует MySQL (т.е. как varchar), вы можете объединить HashBytes с sys.fn_varbintohexsubstring. Э.Г.

SELECT sys.fn_varbintohexsubstring(0, HashBytes('SHA1', 'password'), 1, 0)

Подробнее см. http://accessrichard.blogspot.co.nz/2010/12/sql-server-and-net-equivalent-to-php.html.

2 голосов
/ 08 октября 2008

Из групп Google - A Возможность

1 голос
/ 07 февраля 2011

Вы также можете проверить http://www.stev.org/post/2011/01/30/MS-SQL-SHASum-Support.aspx, вы можете изменить его, чтобы получить все, что вы хотите. Хотя может потребоваться некоторое кодирование на c #.

0 голосов
/ 08 октября 2008

Я не верю, что есть встроенная поддержка, но вы можете проверить это ...

http://blogs.msdn.com/sqlcat/archive/2005/09/16/469257.aspx

...