前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >面向对象(三十四)-加密与解密

面向对象(三十四)-加密与解密

作者头像
孙寅
发布2020-06-02 14:31:57
3880
发布2020-06-02 14:31:57
举报
文章被收录于专栏:宜达数字宜达数字
  • 什么是加密 在互联网时代,我们需要账号密码进行相关的页面登陆,功能服务,虚拟资源,账号管理等。但是同样也有一些使用技术手段进行盗号,破解,砸壳让正常的游戏玩家,和运营公司损失惨重。所以保护个人隐私,个人利益,公司利益就至关重要。加密由此而来。最早的加密在中国春秋战国时代,虎符的出现就是一种传递信息的加密手段。但是互联网时代加密的手段:套接字,使用Post请求(最基本的手段),MD5加密,SHA加密,RSA加密,DES加密,RC4加密,3DES,IDEA加密等。都是使用算法加密。
  • MD5 即“消息摘要算法第五版”,这是一种不可逆的算法,输入信息生成唯一的128位散列值(32个字符)
    • 不可逆 什么是不可逆?就是只可以过去,不可以回来。例如人的寿命。 比如:

    如图 你是没有办法进行解密的,但是有一些爱好者就利用存储空间,记录这种计算后的结果,导致MD5加密也可以进行破解。目前破解率在70%-80%。所以也不是绝对的安全。

  • C#中如何进行加密?
代码语言:javascript
复制
using System;
using System.Collections.Generic;
using System.Linq;
using System.Security.Cryptography;
using System.Text;
using System.Threading.Tasks;

namespace 加密与解密
{
    class Program
    {
        static void Main(string[] args)
        {
            //十进制   16112823919216812720820617719017010918916719636
            //             A180EFC0A87FD0CEB1BEAA6DBDA7C424
            //16进制   A180EFC0A87FD0CEB1BEAA6DBDA7C424
            string pwd = "ABA180EFC0A87FD0CEB1BEAA6DBDA7C424";
            string md5 = GetMD5("leichao");
            Console.WriteLine(pwd);
            Console.WriteLine(md5);
            if (md5.EndsWith(pwd))
            {
                Console.WriteLine("登陆成功");
            }
            else
            {
                Console.WriteLine("密码错误");
            }
            Console.ReadKey();
        }

        static string GetMD5(string message)
        {
            MD5 m5 = MD5.Create();
            // 将字符串转成二进制数组
            byte[] mbyte = Encoding.Default.GetBytes(message);
            // 获取MD5加密后的二进制数组
            byte[] m5byte =  m5.ComputeHash(mbyte);
            string result = "";
            for (int i = 0; i < m5byte.Length; i++)
            {
                result += m5byte[i].ToString("X2");
            }
            return "AB"+ result;
        }
    }
}
  • 关于解密 细心的朋友可能发现,现在游戏的账号密码一旦丢失,只能重新修改,而不能进行找回操作。这就是算法不可逆的结果体现之一,所以保护好自己的账号是最重要的,服务器不存储玩家的密码也是一家科技公司该有的防护措施,否则服务器被攻击,账号资料泄露,会造成更大的损失。
  • 延伸 学会了MD5加密,对于其他的加密手段应该可以自行学习,原理是一样的。网络有大量的加密手段,你只需要选择符合你需求的算法进行实现就可以。
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
访问管理
访问管理(Cloud Access Management,CAM)可以帮助您安全、便捷地管理对腾讯云服务和资源的访问。您可以使用CAM创建子用户、用户组和角色,并通过策略控制其访问范围。CAM支持用户和角色SSO能力,您可以根据具体管理场景针对性设置企业内用户和腾讯云的互通能力。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档