• C# MD516位加密实例,32位加密实例(两种方法)(转)


    1.MD5 16位加密实例
    using System;
    using System.Collections.Generic;
    using System.Text;
    using System.Security.Cryptography;

    namespace md5
    {
        
    class Program
        
    {
            
    static void Main(string[] args)
            
    {
                 Console.WriteLine(UserMd5(
    "8"));
                 Console.WriteLine(GetMd5Str(
    "8"));
             }

            
    /// <summary>
            
    /// MD5 16位加密 加密后密码为大写
            
    /// </summary>
            
    /// <param name="ConvertString"></param>
            
    /// <returns></returns>

            public static string GetMd5Str(string ConvertString)
            
    {
                 MD5CryptoServiceProvider md5
    = new MD5CryptoServiceProvider();
                
    string t2 = BitConverter.ToString(md5.ComputeHash(UTF8Encoding.Default.GetBytes(ConvertString)), 4, 8);
                 t2
    = t2.Replace("-", "");
                
    return t2;
             }

      /// <summary>
            
    /// MD5 16位加密 加密后密码为小写
            
    /// </summary>
            
    /// <param name="ConvertString"></param>
            
    /// <returns></returns>

            public static string GetMd5Str(string ConvertString)
            
    {
                 MD5CryptoServiceProvider md5
    = new MD5CryptoServiceProvider();
                
    string t2 = BitConverter.ToString(md5.ComputeHash(UTF8Encoding.Default.GetBytes(ConvertString)), 4, 8);
                 t2
    = t2.Replace("-", "");

                t2 = t2.ToLower();

                 return t2;
             }



            
    /// <summary>
            
    /// MD5 32位加密
            
    /// </summary>
            
    /// <param name="str"></param>
            
    /// <returns></returns>

           static  string UserMd5(string str)
            
    {
                
    string cl = str;
                
    string pwd = "";
                 MD5 md5
    = MD5.Create();//实例化一个md5对像
                
    // 加密后是一个字节类型的数组,这里要注意编码UTF8/Unicode等的选择 
                byte[] s = md5.ComputeHash(Encoding.UTF8.GetBytes(cl));
                
    // 通过使用循环,将字节类型的数组转换为字符串,此字符串是常规字符格式化所得
                for (int i = 0; i < s.Length; i++)
                
    {
                    
    // 将得到的字符串使用十六进制类型格式。格式后的字符是小写的字母,如果使用大写(X)则格式后的字符是大写字符

                     pwd
    = pwd + s[i].ToString("X");
                    
                 }

                
    return pwd;
             }

         }

    }

    using System.Security.Cryptography;
    using System.Text;

    public static string StringToMD5Hash(string inputString)
            {
                MD5CryptoServiceProvider md5 = new MD5CryptoServiceProvider();
                byte[] encryptedBytes = md5.ComputeHash(Encoding.ASCII.GetBytes(inputString));
                StringBuilder sb = new StringBuilder();
                for (int i = 0; i < encryptedBytes.Length; i++)
                {
                    sb.AppendFormat("{0:x2}", encryptedBytes[i]);
                }
                return sb.ToString();
            }

  • 相关阅读:
    四种常见系统架构介绍
    NC-UAP客户化开发-数据建模
    NC-UAP客户化开发-4.NC数据库持久化技术
    NC-UAP客户化开发-NC基础技术
    NC-UAP客户化开发-开发环境搭建
    Docker: 使用socket 代理
    Disk:磁盘管理之LVM和系统磁盘扩容
    Grafana & Graphite & Collectd:监控系统
    ELK:收集k8s容器日志最佳实践
    Virus:病毒查杀
  • 原文地址:https://www.cnblogs.com/rainbowzc/p/1853389.html
Copyright © 2020-2023  润新知