Just wearing it does not do much good. And to think she gives total security is silly. Read more at How, when and why to use "SecureString" in C #? .
The implementation is detail, so it varies depending on the runtime used and its version and should not be attached to it. So you can not answer the question. And this is the answer.
But I can give you some information:
-
.NET Framework has a complex way of deciding the what to do and delegate to other parts of the framework take care of encryption, it uses very low level code and Windows API.
-
.NET Core delegates to another library, gives to try to find the implementation.
-
Mono uses the Encript()
itself, you have to go there to see how this method does.
So I understand using the inner framework or operating system keys, which is more secure.