zoukankan      html  css  js  c++  java
  • MD5 文件和字符传加密

    using System;
    using System.Collections.Generic;
    using System.IO;
    using System.Linq;
    using System.Security.Cryptography;
    using System.Text;
    using System.Threading.Tasks;
     
    namespace SanCeng
    {
        class Program
        {
            static void Main(string[] args)
            {
                while (true)
                {
                    //Console.WriteLine("请输入一个字符串:");
                    //string str = Console.ReadLine();
                    //string md5str=MD5Encrypt(str);
                    //Console.WriteLine(md5str);
                    //Console.WriteLine("OK");
     
     
                    Console.WriteLine("请输入一个文件路径");
                    string filepath = Console.ReadLine();
                    string md5file = MD5EncryptFromFile(filepath);
                    Console.WriteLine(md5file);
                    Console.WriteLine("OK");
     
                    Console.ReadKey();
                }
                
            }
     
            /// <summary>
            /// 文件MD5加密
            /// </summary>
            /// <returns></returns>
            private static string MD5EncryptFromFile(string path)
            {
                MD5 md5 = MD5.Create();
               
                using(FileStream fs=File.OpenRead(path)){
                    byte[] buffer = md5.ComputeHash(fs);
                    md5.Clear();
                     StringBuilder sb = new StringBuilder();
                    for (int i = 0; i < buffer.Length; i++)
                    {
                        //x2:把每个数字转换为16进制,并保留两位数字。
                        sb.Append(buffer[i].ToString("x2"));
                    }
                    return sb.ToString();
                }
                
            }
     
            /// <summary>
            /// 字符串加密
            /// </summary>
            /// <param name="str"></param>
            /// <returns></returns>
            private static string MD5Encrypt(string str)
            {
                Byte[] buffer = Encoding.Default.GetBytes(str);
                MD5 md5 = MD5.Create();
                Byte[] comBuffer = md5.ComputeHash(buffer);
                md5.Clear();
                StringBuilder sb = new StringBuilder();
                for (int i = 0; i < comBuffer.Length; i++)
                {
                    sb.Append(comBuffer[i].ToString("x2"));
                }
                return sb.ToString();
            }
     
            
        }
    }
  • 相关阅读:
    zabbix 监控获取源码包的地址
    为MongoDB加集群验证的关键点
    Mongodb 集群加keyFile认证
    Prometheus完整的部署方案+实战实例
    如何让你的linux的命令行变得很炫
    redis实现加锁的几种方法示例详解
    phpquerylist 抓取数据详解
    mysql 主从配置,主-》windows,从-》centos6.5
    VMware 虚拟机centos下链接网络配置
    【Mysql】表链接
  • 原文地址:https://www.cnblogs.com/jiayue360/p/3166962.html
Copyright © 2011-2022 走看看