pwdencrypt에 대해서 찾아보면 MSSQL 2008까지는 hashbytes에 MD2, MD4, MD5, SHA, SHA1을 지원했으면 pwdencrypt는 SHA1을 사용합니다. (2000 이전에는 없었으며, 2000에서는 대/소문자를 구분하지 않는 SHA1, 2005 ~ 2008까지는 대/소문자를 구분하는 SHA1을 사용)

 

이후 버전에서는 SHA2_256, SHA2_512를 지원하는데 pwdencrypt는 SHA2_512(대소문자 구분)를 사용합니다.

 

MSSQL 2008 이하 버전에서 2012 이상으로 마이그레이션 했을 경우 pwdencrypt로 암호화 할 때 앞 2byte를 버전 번호로 사용하여 pwdcompare에서 비교해서 결과를 돌려주기 때문에 그대로 사용 가능합니다.

 

그런데 공식 문서에는 pwdencrypt 대신 HASHBYTES를 사용하라고 되어 있네요. 

PWDENCRYPT is an older function and might not be supported in a future release of SQL Server. Use HASHBYTES instead. HASHBYTES provides more hashing algorithms.

하지만 2019 버전에서도 지원하니까 앞으로 몇 년은 일단 고민하지 말아야겠네요.

 

 

+ Recent posts