[Mono-list] Which algorithm to crypt strings ?
Salvatore Scarciglia
s.scarciglia at hyperphar.com
Tue Dec 6 08:46:55 EST 2005
Hi Sebastien,
searching with Google for "string encryption" i found this:
http://www.dotnetthis.com/Articles/Crypto.htm
what do you think ?
Embedded in my code it works fine !!!
Bye
Salvatore
On Tue, 06 Dec 2005 07:54:02 -0500
Sebastien Pouliot <sebastien.pouliot at gmail.com> wrote:
> Hello Salvatore,
>
> On Tue, 2005-12-06 at 11:08 +0100, Salvatore Scarciglia wrote:
> > Hi all,
> > what's the simplest algorithm (and related Class) to, given a well known
> > string, crypt and encrypt another string using the first as key for
> > cryptography ??
>
> There are no class in the framework to do this directly (with strings).
> If you Google you'll find *lots* of sample code to do this - but be
> aware that a lot of it is *bad*. IIRC there is a good sample from Igor
> on MSDN blogs.
>
> > Something lik this:
> >
> > ...
> > ...
> > ClassForCrypt X = new ClassForCrypt();
> > X.key = well_known_string;
> > string crypted = X.Crypt("string to be crypted");
> > string decrypted = X.Decrypt("string to be decrypted");
> > ...
> > ...
>
> Using string can be problematic in many ways (e.g. encoding, line ends).
> That's why most classes (and sample code) are using byte[] arrays and
> let the user convert his data (like string) into byte arrays (e.g.
> calling System.Text.Encoding.UTF8.GetBytes).
>
> For similar reason the output cannot be directly a string (some invalid
> characters could be present for certain encoding). A safe and
> (relatively) compact to use strings is to convert the encrypted byte
> array into base64 (Convert.ToBase64String).
>
> You may also want to look at System.Security.Cryptography.ProtectedData
> as an easier alternative (i.e. automatic key management) if you are
> using 2.0 and aren't moving the data from one computer to another.
>
More information about the Mono-list
mailing list