You may know that System.Security.Cryptography for Compact Framework lacks many cryptography algorithms compared to the desktop .Net Framework (2005 and later). In a project we have needed SHA512 encryption on Windows CE and we have found /cfAes library which provides almost all of the crypto functionality of .NET Framework. We are grateful to the author for sharing the class library.
The following table displays a comparison between the versions of .Net Framework with respect to the support for different crypyography algorithms (X means that it is supported, 0 means partially supported).
| Crytpo Algorithm | .NET 2003 | OpenNETCF 1.2 | /cfAES | WSE 2.0 | CF 2.0 | .NET 2005 |
| MD5 | X | X | X | X | X | |
| SHA1 | X | X | X | X | X | |
| SHA256 | X | X | X | |||
| SHA384 | X | X | X | |||
| SHA512 | X | X | X | |||
| MACTripleDES | X | 0 | X | X | ||
| HMACSHA1 | X | X | X | X | X | |
| PasswordDeriveBytes | X | 0 | X | X | ||
| RC2 | X | X | X | X | X | |
| DES | X | X | X | X | X | |
| TripleDES | X | X | X | X | X | X |
| Rijndeal | X | X | X | X | ||
| RSA | X | X | X | X | X | X |
| DSA | X | X | X | X | X | |
| RIPEMD160 | X | X | ||||
| HMACMD5 | X | X | ||||
| HMACSHA256 | X | X | ||||
| HMACSHA384 | X | X | ||||
| HMACSHA512 | X | X | ||||
| HMACRIPEMD160 | X | X | ||||
| Rfc2898DeriveBytes | X | X | ||||
| ProtectedData | X | X | ||||
| ProtectedMemory | X | X | ||||
| PSHA1 | X | X | ||||
| AESKeyExchangeFormatter | X | X | ||||
| TripleDesKeyExchangeFormatter | X | X | ||||
| SecureString | X | X |
Every programming language I’ve learned, every code sample I’ve inspected, and every algorithm I’ve analyzed have contributed to my knowledge and aptitute of programming very much, and have helped me extend my vision about software development. I always find articles and books written on programming very precious opportunities for self development.

