EncryptByKey与EncryptByPassPhrase?

时间:2011-04-20 21:19:47

标签: asp.net sql sql-server security encryption

您对SQL Server的对称密钥功能有何看法?具体来说,我有两个问题:

  1. 哪一组功能更好...... EncryptByKey或EncryptByPassPhrase?

  2. 这两个函数都需要某种密码。在典型的Web应用程序架构中,应该在何处存储此密码? (即,在数据库中的存储过程中进行硬编码,或作为Web应用程序中的配置设置存储)

  3. 我很想知道这些功能的最佳实践。

1 个答案:

答案 0 :(得分:4)

  1. 使用密码短语加密比较容易,但使用密钥的优点是可以使用内置的SQL服务器角色来保护密钥。您可以将密钥的使用锁定为仅需要访问该数据的用户。

  2. 如果您使用证书,则在初始设置期间只需要纯文本,并且可以将其存储在系统外部。同样,证书是一个安全的对象,可以锁定。

  3. 希望这有帮助。