Пример #1
0
        static void Main(string[] args)
        {
            try
            {
                Console.WriteLine(MD5Encrypt.Encrypt("123456小杨中交一公局第六工程有限公司"));
                Console.WriteLine(MD5Encrypt.Encrypt("123456小夏中交一公局第六工程有限公司"));
                Console.WriteLine(MD5Encrypt.Encrypt("123456小吴中交一公局第六工程有限公司"));
                Console.WriteLine(MD5Encrypt.Encrypt("123456李小中交一公局第六工程有限公司"));
                Console.WriteLine(MD5Encrypt.Encrypt("123456小李中交一公局第六工程有限公司"));
                Console.WriteLine(MD5Encrypt.Encrypt("123456小李"));
                Console.WriteLine(MD5Encrypt.Encrypt("1"));
                //不可逆
                Console.WriteLine(MD5Encrypt.Encrypt("1冉娃娃是.net高级班的一名vip学员,他是四川的小伙子,目前好像还没结婚47926363838753576475637566573654756735438547385434"));
                Console.WriteLine(MD5Encrypt.Encrypt("2冉娃娃是.net高级班的一名vip学员,他是四川的小伙子,目前好像还没结婚47926363838753576475637566573654756735438547385434"));
                Console.WriteLine(MD5Encrypt.Encrypt("3冉娃娃是.net高级班的一名vip学员,他是四川的小伙子,目前好像还没结婚47926363838753576475637566573654756735438547385434"));
                Console.WriteLine(MD5Encrypt.Encrypt("1"));
                Console.WriteLine(MD5Encrypt.Encrypt("xiaoduirensheng123455"));
                Console.WriteLine(MD5Encrypt.Encrypt("kuaileyangguang123455"));
                Console.WriteLine(MD5Encrypt.Encrypt("haha123455"));
                Console.WriteLine(MD5Encrypt.Encrypt("haha123456"));
                Console.WriteLine(MD5Encrypt.Encrypt("张三李四"));
                Console.WriteLine(MD5Encrypt.Encrypt("张三李四"));

                //可逆对称加密
                string desEn  = DesEncrypt.Encrypt("王殃殃");
                string desDe  = DesEncrypt.Decrypt(desEn);
                string desEn1 = DesEncrypt.Encrypt("张三李四");
                string desDe1 = DesEncrypt.Decrypt(desEn1);

                //非对称加密
                //string publicKey = "";
                //string privateKey = "";
                //string rsaEn = RsaEncrypt.Encrypt("netnetnetnetnetnetnetne", out publicKey, out privateKey);
                //string rsaDe = RsaEncrypt.Decrypt(rsaEn, privateKey);


                KeyValuePair <string, string> publicPrivate = RsaEncrypt.GetKeyPair();
                string rsaEn1 = RsaEncrypt.Encrypt("net", publicPrivate.Key);
                string rsaDe1 = RsaEncrypt.Decrypt(rsaEn1, publicPrivate.Value);
                //加密key  解密key
                //公开加密key,接受加密消息,因为只有我一个人能解密
                //公开解密key,用于签名,表明数据一定是我发的,因为只有我有加密的key
                //公钥私钥只是跟公开与否有关
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex.Message);
            }
            Console.Read();
        }
        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("1"));
                    //Console.WriteLine(MD5Encrypt.Encrypt("1"));
                    //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();
        }