net中提供的加密类已经实现了很多常用的加密算法了,不需要你再去实现,只需要学会用就可以了。
基本上分成三个:
1.SymmetricAlgorithm:对称加密
这个主要是利用CreateDecryptor、CreateEncryptor、IV 和 Key,结合CryptStream实现加密和解密。
2.AsymmetricAlgorithm:不对称加密
这个主要是进行签名,SignData、VerifyData、CreateSignature、VerifySignature等;
3.HashAlgorithm:实现计算哈希值
主要是ComputeHash ,或者结合CryptStream(因为HashAlgorithm实现了ICryptoTransform接口)实现创建哈希代码
另外还有就是数字证书,存在于System.Security.Cryptography.X509Certificates命名空间中,关于证书的支持,2.0比前面的版本提供了更多的支持,原来是由通过api进行。而关于证书,你必须要首先了解更多的关于数字证书的概念(CA认证)。