知识大全 哈希(不可逆)加密通用类库函数
Posted 字节
篇首语:知识是珍贵的宝石,文化的宝石放出的光辉。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 哈希(不可逆)加密通用类库函数相关的知识,希望对你有一定的参考价值。
using System; using System IO; using System Security Cryptography; namespace Common /// <summary> ///Copyright (C) kwklover(邝伟科) ///File name:Hasher cs ///Author:邝伟科 Version: Date: 年 月 日 ///Description:哈希(不可逆)加密通用类库函数 /// </summary> public class Hasher private byte[] _HashKey; //哈希密钥存储变量 private string _HashText; //待加密的字符串 public Hasher() // // TODO: 在此处添加构造函数逻辑 // /// <summary> /// 哈希密钥 /// </summary> public byte[] HashKey set _HashKey=value; get return _HashKey; /// <summary> /// 需要产生加密哈希的字符串 /// </summary> public string HashText set _HashText=value; get return _HashText; /// <summary> /// 使用HMACSHA 类产生长度为 字节的哈希序列 需提供相应的密钥 接受任何大小的密钥 /// </summary> /// <returns></returns> public string HMACSHA Hasher() byte[] HmacKey=HashKey; byte[] HmacData=System Text Encoding UTF GetBytes(HashText); HMACSHA Hmac = new HMACSHA (HmacKey); CryptoStream cs = new CryptoStream(Stream Null Hmac CryptoStreamMode Write); cs Write(HmacData HmacData Length); cs Close(); byte[] Result=Hmac Hash; return Convert ToBase String(Result); //返回长度为 字节字符串 /// <summary> /// 使用MACTripleDES类产生长度为 字节的哈希序列 需提供相应的密钥 密钥长度可为 或 字节的密钥 /// </summary> /// <returns></returns> public string MACTripleDESHasher() byte[] MacKey=HashKey; byte[] MacData=System Text Encoding UTF GetBytes(HashText); MACTripleDES Mac=new MACTripleDES(MacKey); byte[] Result=Mac ComputeHash(MacData); return Convert ToBase String(Result); //返回长度为 字节字符串 /// <summary> /// 使用MD CryptoServiceProvider类产生哈希值 不需要提供密钥 /// </summary> /// <returns></returns> public string MD Hasher() byte[] MD Data=System Text Encoding UTF GetBytes(HashText); MD Md =new MD CryptoServiceProvider(); byte[] Result=Md ComputeHash(MD Data); return Convert ToBase String(Result); //返回长度为 字节字符串 /// <summary> /// 使用SHA Managed类产生长度为 位哈希值 不需要提供密钥 /// </summary> /// <returns></returns> public string SHA ManagedHasher() byte[] SHA Data=System Text Encoding UTF GetBytes(HashText); SHA Managed Sha =new SHA Managed(); byte[] Result=Sha ComputeHash(SHA Data); return Convert ToBase String(Result); //返回长度为 字节的字符串 /// <summary> /// 使用SHA Managed类产生长度为 位哈希值 不需要提供密钥 /// </summary> /// <returns></returns> public string SHA ManagedHasher() byte[] SHA Data=System Text Encoding UTF GetBytes(HashText); SHA Managed Sha =new SHA Managed(); byte[] Result=Sha ComputeHash(SHA Data); return Convert ToBase String(Result); //返回长度为 字节的字符串 /// <summary> /// 使用SHA Managed类产生长度为 位哈希值 不需要提供密钥 /// </summary> /// <returns></returns> public string SHA ManagedHasher() byte[] SHA Data=System Text Encoding UTF GetBytes(HashText); SHA Managed Sha =new SHA Managed(); byte[] Result=Sha ComputeHash(SHA Data); return Convert ToBase String(Result); //返回长度为 字节的字符串 /// <summary> /// 使用SHA Managed类产生长度为 位哈希值 不需要提供密钥 /// </summary> /// <returns></returns> public string SHA ManagedHasher() byte[] SHA Data=System Text Encoding UTF GetBytes(HashText); SHA Managed Sha =new SHA Managed(); byte[] Result=Sha ComputeHash(SHA Data); return Convert ToBase String(Result); //返回长度为 字节的字符串 cha138/Article/program/Java/hx/201311/26461相关参考