I think what I am about to ask is impossible, however, figured it was worth a shot here.
We have an application that makes use of SQL Servers PWDEncrypt and PWDCompare functions.
Part of the system creates duplicates of users (same logon and password). Due to a bug in the system, instead of copying the binary stored PWDEncrypt of a password it performed another PWDEncrypt of the password. Therefore the binary values do not match.
Is it possible to find out if the two binary values are hashes of the same password?
e.g. PWDEncrypt('abc') = PWDEncrypt('abc')
If I can do this then it means I can find out how many users this bug has actually affected rather than having to deal with thousands!
EDIT: To clarify, PWDEncrypt('abc') = PWDEncrypt('abc') will NOT return true as the passwords are hashed to different values.
Whilst I know its impossible to obtain the password from the hash, PWDCOMPARE('abc', PWDENCRYPT('abc')) works, therefore, internally SQL Server must be doing more than just hashing the password you're comparing and check the values are the same.