.NET有丰富的加密解密API库供我们使用,本博文总结了.NET下的Hash散列算法,并制作成简单的DEMO,希望能对大家有所帮助。

MD5
[csharp]
using System; 
using System.Collections.Generic; 
using System.Text; 
 
using System.Security.Cryptography; 
 
namespace EncryptAndDecrypt 

    public class MD5 
    { 
        public byte[] Hash(byte[] data) 
        { 
            System.Security.Cryptography.MD5 md5 = System.Security.Cryptography.MD5.Create(); 
 
            return md5.ComputeHash(data); 
        } 
    } 
}

SHA1
[csharp]
using System; 
using System.Collections.Generic; 
using System.Text; 
 
using System.Security.Cryptography; 
 
namespace EncryptAndDecrypt 

    public class SHA1:IHash 
    { 
        public byte[] Hash(byte[] data) 
        { 
            System.Security.Cryptography.SHA1 sha1 = System.Security.Cryptography.SHA1.Create(); 
            return sha1.ComputeHash(data); 
        } 
    } 
}

SHA256
[csharp]
using System; 
using System.Collections.Generic; 
using System.Text; 
 
using System.Security.Cryptography; 
 
namespace EncryptAndDecrypt 

    public class SHA256:IHash 
    { 
 
 
        public byte[] Hash(byte[] data) 
        { 
            System.Security.Cryptography.SHA256 sha256=  System.Security.Cryptography.SHA256.Create(); 
            return sha256.ComputeHash(data); 
        } 
    } 
}

SHA384
[csharp]
using System; 
using System.Collections.Generic; 
using System.Text; 
 
using System.Security.Cryptography; 
namespace EncryptAndDecrypt 

    public class SHA384:IHash 
    { 
 
        public byte[] Hash(byte[] data) 
        { 
            System.Security.Cryptography.SHA384 sha384 = System.Security.Cryptography.SHA384.Create(); 
            return sha384.ComputeHash(data); 
        } 
    } 
}

SHA512
[csharp]
using System; 
using System.Collections.Generic; 
using System.Text; 
 
using System.Security.Cryptography; 
 
namespace EncryptAndDecrypt 

    public class SHA512:IHash 
    { 
 
        public byte[] Hash(byte[] data) 
        { 
            System.Security.Cryptography.SHA512 sha512 = System.Security.Cryptography.SHA512.Create(); 
            return sha512.ComputeHash(data); 
        } 
    } 
}

.NET下的加密解密大全(1): 哈希加密的更多相关文章

  1. .NET下的加密解密大全(3):非对称加密

    本博文列出了.NET下常用的非对称加密算法,并将它们制作成小DEMO,希望能对大家有所帮助. RSA[csharp]static string EnRSA(string data,string pub ...

  2. .NET下的加密解密大全(2):对称加密

    本博文列出了.NET下常用的对称加密算法,并将它们制作成小DEMO,希望能对大家有所帮助. 公共代码[csharp]static byte[] CreateKey(int num) {     byt ...

  3. python下RSA加密解密以及跨平台问题

    Reference:  http://www.cnblogs.com/luchanghong/archive/2012/07/18/2596886.html 项目合作需要,和其他网站通信,消息内容采用 ...

  4. Java加密解密大全

    ChinaSEI系列讲义(By 郭克华)   Java加密解密方法大全                     如果有文字等小错,请多包涵.在不盈利的情况下,欢迎免费传播. 版权所有.郭克华 本讲义经 ...

  5. Linux下OpenSSL加密解密压缩文件(AES加密压缩文件)

    OpenSSL是一个开源的用以实现SSL协议的产品,它主要包括了三个部分:密码算法库.应用程序.SSL协议库.Openssl实现了SSL协议所需要的大多数算法.下面介绍使用Openssl进行文件的对称 ...

  6. CentOS下Vim加密解密文本

    CentOS用vim/vi给文件加密和解密 一. 利用 vim/vi 加密: 优点:加密后,如果不知道密码,就看不到明文,包括root用户也看不了: 缺点:很明显让别人知道加密了,容易让别人把加密的文 ...

  7. Python下RSA加密/解密, 签名/验证

    原文是py2环境,而我的环境是py3,所以对原代码做了修改:decode(), encode() import rsa # 生成密钥 (pubkey, privkey) = rsa.newkeys(1 ...

  8. C#加密解密大全

    1.方法一 (不可逆加密)     public string EncryptPassword(string PasswordString,string PasswordFormat )      { ...

  9. python下RSA 加密/解密,签名/验证

    基于win7 + python3.4 原文是py2环境,而我的环境是py3,所以对原代码做了修改:decode(), encode() import rsa # 生成密钥 (pubkey, privk ...

随机推荐

  1. 【转】Android bluetooth介绍(二): android blueZ蓝牙代码架构及其uart 到rfcomm流程

    原文网址:http://blog.sina.com.cn/s/blog_602c72c50102uzoj.html 关键词:蓝牙blueZ  UART  HCI_UART H4  HCI  L2CAP ...

  2. SharePoint 2010中使用SPListItemCollectionPosition更快的结果

    转:http://www.16kan.com/article/detail/318657.html Introduction介绍 In this article we will explore the ...

  3. (转载)Linux下IPTABLES配置详解

    (转载)http://www.cnblogs.com/JemBai/archive/2009/03/19/1416364.html 如果你的IPTABLES基础知识还不了解,建议先去看看. 开始配置 ...

  4. 数学之美 zt

    数学是美丽的,哪里有数哪里就有美. 数学的定义是研究数量关系和空间形式的一门科学.但有句名言说:数学比科学大得多,因为它是科学的语言.数学不仅用来写科学,而且可用来写人生.所以说数学是一切学科的基础, ...

  5. EF框架搭建

    EF框架搭配lambda表达式使用起来非常高效便捷,有两种方法使用EF框架: 一是.添加“ADO.NET Entity Data Model”项,绑定配置数据库链接,勾选表和存储过程等,自动生成实体: ...

  6. python 零散记录(四) 强调字典中的键值唯一性 字典的一些常用方法

    dict中键只有在值和类型完全相同的时候才视为一个键: mydict = {1:1,':1} #此时mydict[1] 与 mydict['1']是两个不同的键值 dict的一些常用方法: clear ...

  7. 《C语言程序设计现代方法》第4章 编程题

    1 编写一个程序,要求用户输入一个两位数,然后按数位的逆序打印出这个数. 方法一:没技术含量的 #include <stdio.h> int main() { int high, low; ...

  8. vmware10安装win8x64(亲测)

    首先,创建虚拟机,选择典型 下一步后 弄完后选择“完成”,这下就可以安装了 之后分区,之后选cdrom做启动,之后安装win8到第一分区

  9. usaco 奶牛集会 && 奶牛抗议

    奶牛集会 Description 约翰家的N头奶牛每年都会参加“哞哞大会” .哞哞大会是世界奶牛界的盛事.集会上 的活动很多,比如堆干草,跨栅栏,摸牛仔的屁股等等.当然,哞哞大叫肯定也包括在内. 奶牛 ...

  10. iOS按钮长按

    UILongPressGestureRecognizer *longPressGR = [[UILongPressGestureRecognizer alloc] initWithTarget:sel ...