這兩個函數是sql server內部使用的加密函數,微軟未公佈其用法。也無法找到相關文檔。
根據網上查到,這兩個 Function 在 SQL 2000, 2005, 2008 都可以使用,只是我也發現了一些不同的 SQL Server 版本之間在使用這兩個 Function 時的小差異:
- 使用 PWDENCRYPT 時 SQL 2000 與 SQL 2005/2008 加密過後的 hash 長度不一樣!
- SQL 2005/2008 加密過的密碼在 SQL 2000 中無法使用 PWDCOMPARE 函數驗證密碼!
- SQL 2005 與 SQL 2008 基本上是相容的。
- SQL 2000 加密過的密碼雖然比較長,但在 SQL 2005/2008 中還是可以使用 PWDCOMPARE 函數驗證密碼!
補充一條。sql2008 pwdcompare區分打小寫。而sql server 2000大小寫不敏感。