【问题标题】:Decrypt password encrypted using Exec master.dbo.xp_sha1解密使用 Exec master.dbo.xp_sha1 加密的密码
【发布时间】:2014-12-07 05:05:16
【问题描述】:

我想解密存储在 Sql Server 2008 数据库中的密码,这些密码使用 Exec master.dbo.xp_sha1 @Password, @EncPassword 输出加密。是否可以解密?

加密密码如下所示:xxstgggettebbqyyayujjweee

谢谢

【问题讨论】:

  • 你的存储过程dbo.xp_sha1的定义是什么?

标签: sql-server sql-server-2008 encryption


【解决方案1】:

xp_sha1 是一个非标准的主存储过程,它不包含在我见过的任何 sql server 中,但是我快速搜索了一下:http://www.xpcrypt.com/xpho/xp_sha1.htm

正如我在您的问题Encrypt passwords on Sql Server 2008 using SHA1 中的回答/cmets 中所述,加密与散列不同。 SHA1 是哈希,而不是加密。加密可以撤消,散列不能。

最后一个问题的答案中提到的链接详细介绍了这一点,但这里有几篇专门讨论加密和散列之间差异的文章:

Difference between Hashing a Password and Encrypting it

http://www.darkreading.com/safely-storing-user-passwords-hashing-vs-encrypting/a/d-id/1269374

请理解加密和散列之间存在根本区别。

以“密码”加密为“123809dsfajsfoiwj”为例,知道密钥和加密方式,通过适当的解密就可以得到“密码”。

使用 SHA1 和散列“密码”,无法将散列的“jdsfioajd0f98uas”(示例)反转回原始“密码”。每次给定相同的输入时,都会创建相同的哈希值,因此将哈希值与“验证密码”的哈希值进行比较。你永远不会回到原来的位置。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-11-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-05-09
    • 1970-01-01
    • 1970-01-01
    • 2012-10-03
    相关资源
    最近更新 更多