现在的位置: 首页 > 综合 > 正文

★ 封装了MD5,SHA1等加密算法的类

2013年12月06日 ⁄ 综合 ⁄ 共 3086字 ⁄ 字号 评论关闭
使用Aosu易博通,一分钱不花,实现网文自动摘抄, 博客写作方便又快捷,和您现在看到的一样 !自主嵌入Google广告,还能赚取美金! 现在就下载

 
using System;
using System.Collections.Generic;
using System.Text;
using System.Security.Cryptography;

namespace trips
{
    
static class CryptClass
    
{
        
public enum HashType : int
        
{
            SHA1,
            SHA256,
            SHA384,
            SHA512,
            MD5,
            RIPEMD160
        }



        
public static string FromString(string input, HashType hashtype)
        
{
            Byte[] clearBytes;
            Byte[] hashedBytes;
            
string output = String.Empty;

            
switch (hashtype)
            
{
                
case HashType.RIPEMD160:
                    clearBytes 
= new UTF8Encoding().GetBytes(input);
                    RIPEMD160 myRIPEMD160 
= RIPEMD160Managed.Create();
                    hashedBytes 
= myRIPEMD160.ComputeHash(clearBytes);
                    output 
= BitConverter.ToString(hashedBytes).Replace("-""").ToLower();
                    
break;
                
case HashType.MD5:
                    clearBytes 
= new UTF8Encoding().GetBytes(input);
                    hashedBytes 
= ((HashAlgorithm)CryptoConfig.CreateFromName("MD5")).ComputeHash(clearBytes);
                    output 
= BitConverter.ToString(hashedBytes).Replace("-""").ToLower();
                    
break;
                
case HashType.SHA1:
                    clearBytes 
= Encoding.UTF8.GetBytes(input);
                    SHA1CryptoServiceProvider sha1 
= new SHA1CryptoServiceProvider();
                    sha1.ComputeHash(clearBytes);
                    hashedBytes 
= sha1.Hash;
                    sha1.Clear();
                    output 
= BitConverter.ToString(hashedBytes).Replace("-""").ToLower();
                    
break;
                
case HashType.SHA256:
                    clearBytes 
= Encoding.UTF8.GetBytes(input);
                    SHA256 sha256 
= new SHA256Managed();
                    sha256.ComputeHash(clearBytes);
                    hashedBytes 
= sha256.Hash;
                    sha256.Clear();
                    output 
= BitConverter.ToString(hashedBytes).Replace("-""").ToLower();
                    
break;
                
case HashType.SHA384:
                    clearBytes 
= Encoding.UTF8.GetBytes(input);
                    SHA384 sha384 
= new SHA384Managed();
                    sha384.ComputeHash(clearBytes);
                    hashedBytes 
= sha384.Hash;
                    sha384.Clear();
                    output 
= BitConverter.ToString(hashedBytes).Replace("-""").ToLower();
                    
break;
                
case HashType.SHA512:
                    clearBytes 
= Encoding.UTF8.GetBytes(input);
                    SHA512 sha512 
= new SHA512Managed();
                    sha512.ComputeHash(clearBytes);
                    hashedBytes 
= sha512.Hash;
                    sha512.Clear();
                    output 
= BitConverter.ToString(hashedBytes).Replace("-""").ToLower();
                    
break;
            }

            
return output;
        }


    }

}

 

 
今日热点:
  • ASP.NET2.0中全面实现文件图片上传下载处理
  • ASP.NET2.0 文本编辑器FCKeditor
  • Eclipse的Adapter机制
  •  
     
     

    抱歉!评论已关闭.