How to get back the value from SecureString the most secure way?
I was found this code to get the value back.
public static String SecureStringToString(SecureString value)
{
     IntPtr valuePtr = IntPtr.Zero;
     try
     {
         valuePtr = Marshal.SecureStringToGlobalAllocUnicode(value);
         return Marshal.PtrToStringUni(valuePtr);
     }
     finally
     {
         Marshal.ZeroFreeGlobalAllocUnicode(valuePtr);
     }
}
Is it secure to use this way or it's destroy the whole security of SecureString?
