加密算法简单概述

基本概念:

     基本过程就是对原来为明文的文件或数据按某种算法进行处理,使其成为不可读的一段代码,通常称为“密

文”,使其只能在输入相应的密钥之后才能显示出本来内容,通过这样的途径来达到保护数据不被非法人窃取、阅读

的目的。该过程的逆过程为解密,即将该编码信息转化为其原来数据的过程。


功能:

  • 保密性:帮助保护用户的标识或数据不被读取。
  • 数据完整性:帮助保护数据不更改。
  • 身份验证:确保数据发自特定的一方。

分类:

对称(symmetric)算法:在加密和解密数据时使用相同的密钥和初始化矢量,典型的有DES、TripleDES和Rijndael

算法,它适用于不需要传递密钥的情况,主要用于本地文档或数据的加密。


不对称(asymmetric)算法:有两个不同的密钥,分别是公共密钥和私有密钥,公共密钥在网络中传递,用于加密

数据,而私有密钥用于解密数据。不对称算法主要有RSA、DSA等,主要用于网络数据的加密。


哈希算法:将任意长度的二进制值映射为固定长度的较小二进制值,这个小的二进制值称为哈希值。哈希值是一段数

据唯一且极其紧凑的数值表示形式。如果散列一段明文而且哪怕只更改该段落的一个字母,随后的哈希计算都将产生

不同的值。要找到散列为同一个值的两个不同的输入,在计算上是不可能的。消息身份验证代码(MAC) 哈希函数通常

与数字签名一起用于对数据进行签名,而消息检测代码 (MDC) 哈希函数则用于数据完整性。

 .net加密算法—MD5

    以上是对常用加密算法的一个概述,而在.net中,将密码服务功能封装成了System.Security.Cryptography命名

空间,这样使密码服务更容易实现,该名字空间包含了实现安全方案的类,例如加密和解密数据、管理密钥、验证数

据的完整性并确保数据没有被篡改等等。

    

    在牛腩中出现的MD5加密方式就是其中的一种,MD5的全称是Message-DigestAlgorithm 5(信息-摘要算法),在

90年代初由MIT Laboratory for Computer Science和RSA DataSecurity Inc的Ronald L.Rivest开发出来,经MD2、

MD3和MD4发展而来。它的作用是让大容量信息在用数字签名软件签署私人密匙前被"压缩"成一种保密的格式(就是把

一个任意长度的字节串变换成一定长的大整数)。(摘自百度百科)


    md5加密是一个非常好的一个加密方式,在.net中封装了一个MD5的加密方式, 所以用起来也很简单, 我们只要

调用一下来使用就可以了,想要了解md5的加密原理, 有兴趣的人可以查看一些加密函数!


分享一个简单的小例子:

 <title>MD5加密实例</title>
</head>
<body>
                   MD5加密<form id="Form1" runat="server">
        <asp:label id="show1" runat="server"></asp:label>
        <asp:label id="show2" runat="server"></asp:label>
        <asp:textbox ID="txtMD" runat="server" TextMode="SingleLine" Text="wyj" AutoPostBack="true" />
        [输入按回车]
        </form>
            
        
    </body>

 ///MD5加密的实例
        protected void Page_Load(object sender, EventArgs e)
        {
            //将要加密的字符串转化为byte类型
            byte[] data = System.Text.Encoding.Unicode.GetBytes(txtMD.Text.ToCharArray());
            //创建一个Md5对象
            System.Security.Cryptography.MD5 md5 = new System.Security.Cryptography.MD5CryptoServiceProvider();
            //加密Byte[]数组
            byte[] result = md5.ComputeHash(data);
            //将加密后的数组转化为字段
            string sResult = System.Text.Encoding.Unicode.GetString(result);
            //打印普通加密后的结果
            show1.Text = "MD5普通加密:" + sResult.ToString() + "<br/>";
            //打印密码方式加密
            string EnPswdStr = System.Web.Security.FormsAuthentication.
            HashPasswordForStoringInConfigFile(txtMD.Text.ToString (), "MD5");
            //显示出来
            show2.Text = "MD5密码加密:" + EnPswdStr + "<br/>";
}
    

    在这个网络安全越来越被人们重视的时代,了解加密算法是我们必须做的,现在只是接触了一些基本概念,期待

以后对他们的深入学习!


评论 24
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值