static void Main(string[] args) { try { //MD5 加密算法是公开的 //通过原文---密文 密文不能得到原文 //相同的原文加密的结果是一样的 //原文差别小,密文差别大 //文件加密:(文件摘要)无论文件多大,都能产生一个32位字符串 //无论原文如何,都能得到一个32位字符串 //MD5有啥用呢? //1 文件防止纂改: //git:如果仅仅只是一个文件修改了,当前这个文件就会标红! MD5! //急速妙传:MD5 //2 密码保存 避免看到明文 // 校验:就是把明文MD5以后再表 //3 数字签名/防止抵赖 //MD5加盐:“123456Richard-Eleven” MD5 多次 #region MD5 { Console.WriteLine(MD5Encrypt.Encrypt("3")); Console.WriteLine(MD5Encrypt.Encrypt("3")); Console.WriteLine(MD5Encrypt.Encrypt("123456小李")); Console.WriteLine(MD5Encrypt.Encrypt("113456小李")); Console.WriteLine(MD5Encrypt.Encrypt("113456小李113456小李113456小李113456小李113456小李113456小李113456小李")); //string md5Abstract1 = MD5Encrypt.AbstractFile(@"D:\Ruanmou\Advanced13Encrypt\00test-副本.rar"); //string md5Abstract2 = MD5Encrypt.AbstractFile(@"D:\Ruanmou\Advanced13Encrypt\00test.rar"); } #endregion //Des: //对称可逆加密 //原文---加密以后--密文 密文---解密--原文 //再加密和解密的时候 需要一个密钥! //对称:加密解密都是同一个密钥; //速度快 //加密算法也是公开! //安全性 传输加密解密Key的时候存在的安全性问题 #region Des { string desEn = DesEncrypt.Encrypt("Richard老师"); string desDe = DesEncrypt.Decrypt(desEn); string desEn1 = DesEncrypt.Encrypt("张三李四"); string desDe1 = DesEncrypt.Decrypt(desEn1); } #endregion //Rsa //速度相对较慢! //加密Key 解密Key 二者是一对儿,但是不能相互推导出来! //公钥 把Key公开, 私钥:放在自己兜儿里 //位什么要有公钥私钥? #region Rsa { KeyValuePair <string, string> encryptDecrypt = RsaEncrypt.GetKeyPair(); string rsaEn1 = RsaEncrypt.Encrypt("net", encryptDecrypt.Key); string rsaDe1 = RsaEncrypt.Decrypt(rsaEn1, encryptDecrypt.Value); } #endregion //我们再访问有些站点的时候:https 证书 //现在是22:03 大家开始提问,22:06开始答疑!期间老师不说话! } catch (Exception ex) { Console.WriteLine(ex.Message); } Console.Read(); }