但因預設密碼為使用者帳戶,每個人都不同,我又想直接透過SQLServer openrowset 方式讀取excel檔然後直接轉入。
首選當然是建一個CLR Funciton 直接在tsql 使用,但CLR不支援System.Web,所以FormsAuthentication.HashPasswordForStoringInConfigFile 就沒法使用了。
找到可行的解決方法,改寫成CLR Funciton ,記錄一下 ,粉方便~~~
What will give me the same result as FormsAuthentication hashing for a non web application?
public static string SHA1(this string stringToHash)
{
// SHA1 is 160bit
SHA1 sha = new SHA1Managed();
byte[] hash = sha.ComputeHash(Encoding.ASCII.GetBytes(stringToHash));
StringBuilder stringBuilder = new StringBuilder();
foreach (byte b in hash)
{
stringBuilder.AppendFormat("{0:x2}", b);
}
return stringBuilder.ToString().ToUpper(); // HashPasswordForStoringInConfigFile uses uppercase hex
}