解密SQL Server中的列

时间:2015-01-27 08:51:36

标签: sql-server encryption

我有一个用于在SQL Server数据库表中存储密码的列,其中所有数据都加密如下:

25-4B-F1-CB-2C-12-85-EB-17-2E-36-C0-B4-01-2C-28

如何将此数据解密为可读形式?我正在使用SQL Server 2012.我非常需要这个帮助&你的帮助将得到真正的赞赏。感谢

1 个答案:

答案 0 :(得分:1)

这看起来像md5散列函数的输出,其中每个字节都转换为十六进制字符串并用短划线分隔。 md5的输出是128位,这里恰好是16字节的数据。 sha-1sha-2哈希函数产生更大的输出,因此它不太可能是那个函数。

你不能解密它,如设计md5,如果不可逆功能。

但如果这些数据实际上是一些哈希密码 - 您仍然可以使用这些密码来验证您的用户。

您只需要 - 从用户那里获取纯文本密码,使用TSQL HashBytes函数计算它的md5哈希值,将其逐字节转换为您保存的格式(由破折号分隔的十六进制字符串)并与您进行比较节省了价值。或者,当然 - 您可以将保存的值初步转换回varbinary并保存在另一列中,并将该varbinaries与md5的输出进行比较 - 它取决于您。