将一些存储过程从MySQL转换为Microsoft SQL服务器。一切顺利,除了一个程序使用MySQL SHA1()函数。我似乎无法在MS-SQL中找到与此相同的内容。

有没有人知道MS-SQL上 SHA1()的有效等价物?

有帮助吗?

解决方案

SQL Server 2005及更高版本具有 HashBytes()功能。

其他提示

如果你想获得一个完全像MySQL生成它的SHA1哈希(即作为varchar),你可以将HashBytes与sys.fn_varbintohexsubstring结合起来。 E.g。

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 了解更多详情。

来自google群组 - A Possibility

您可能还想查看 http ://www.stev.org/post/2011/01/30/MS-SQL-SHASum-Support.aspx 您应该可以修改它以生成您想要的任何内容。虽然可能需要一些c#编码。

我不相信有原生支持,但您可能想要检查一下......

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

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top