public static string ToInsecureString(this SecureString input) { if (input == null) { return null; } var ptr = Marshal.SecureStringToBSTR(input); try { return Marshal.PtrToStringBSTR(ptr); } finally { Marshal.ZeroFreeBSTR(ptr); } } }