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();
            }
     
            
        }
    }
  • 相关阅读:
    sql developer 中文乱码解决办法
    ubuntu oracle数据库18c安装
    ubuntu Oracle SQL Developer 安装
    web.xml is missing and <failOnMissingWebXml> is set to true
    MySQL设置快速删除
    Annoying “Remote System Explorer Operation” causing freeze for couple of seconds
    安装程序时出现2502 2503错误解决方法
    Smoke Testing(冒烟测试)
    MySQL5.7.11免安装版的安装和配置:解决MYSQL 服务无法启动问题
    Error 2503 and 2502 when installing/uninstalling on Windows 10
  • 原文地址:https://www.cnblogs.com/jiayue360/p/3166962.html
Copyright © 2011-2022 走看看