1   #region MD5
2 /// <summary>
3 /// 16位MD5加密
4 /// </summary>
5 /// <param name="password"></param>
6 /// <returns></returns>
7 public static string MD5Encrypt16(string strByMd5)
8 {
9 var md5 = new MD5CryptoServiceProvider();
10 string t2 = BitConverter.ToString(md5.ComputeHash(Encoding.Default.GetBytes(strByMd5)), 4, 8);
11 t2 = t2.Replace("-", "");
12 return t2;
13 }
14
15 /// <summary>
16 /// 32位MD5加密
17 /// </summary>
18 /// <param name="password"></param>
19 /// <returns></returns>
20 public static string MD5Encrypt32(string strByMd5)
21 {
22 string cl = strByMd5;
23 string pwd = "";
24 MD5 md5 = MD5.Create(); //实例化一个md5对像
25 // 加密后是一个字节类型的数组,这里要注意编码UTF8/Unicode等的选择 
26 byte[] s = md5.ComputeHash(Encoding.UTF8.GetBytes(cl));
27 // 通过使用循环,将字节类型的数组转换为字符串,此字符串是常规字符格式化所得
28 for (int i = 0; i < s.Length; i++)
29 {
30 // 将得到的字符串使用十六进制类型格式。格式后的字符是小写的字母,如果使用大写(X)则格式后的字符是大写字符
31 pwd = pwd + s[i].ToString("X");
32 }
33 return pwd;
34 }
35
36 public static string MD5Encrypt64(string strByMd5)
37 {
38 string cl = strByMd5;
39 //string pwd = "";
40 MD5 md5 = MD5.Create(); //实例化一个md5对像
41 // 加密后是一个字节类型的数组,这里要注意编码UTF8/Unicode等的选择 
42 byte[] s = md5.ComputeHash(Encoding.UTF8.GetBytes(cl));
43 return Convert.ToBase64String(s);
44 }
45 #endregion
46
47 #region 对文件进行MD5处理
48 /// <summary>
49 /// 对文件流进行MD5加密
50 /// </summary>
51 public static string MD5Stream(Stream stream)
52 {
53 MD5CryptoServiceProvider md5 = new MD5CryptoServiceProvider();
54 md5.ComputeHash(stream);
55 byte[] b = md5.Hash;
56 md5.Clear();
57 StringBuilder sb = new StringBuilder(32);
58 for (int i = 0; i < b.Length; i++)
59 {
60 sb.Append(b[i].ToString("X2"));
61 }
62 return sb.ToString();
63 }
64
65 /// <summary>
66 /// 对文件进行MD5加密
67 /// </summary>
68 public static string MD5Stream(string filePath)
69 {
70 using (FileStream stream = File.Open(filePath, FileMode.Open))
71 {
72 return MD5Stream(stream);
73 }
74 }
75
76 #endregion
77
78 /// <summary>
79 /// 获取MD5值(对字节数组进行MD5)
80 /// </summary>
81 /// <param name="fileBytes"></param>
82 /// <returns></returns>
83 public static string GetMd5(byte[] fileBytes)
84 {
85 var MD5 = System.Security.Cryptography.MD5.Create().ComputeHash(fileBytes);
86 //将md5byte[]数组转换为字符串
87 var str_md5 = Convert.ToBase64String(MD5);
88 return str_md5;
89 }

MD5加密汇总的更多相关文章

  1. 关于CryptoJS中md5加密以及aes加密的随笔

    最近项目中用到了各种加密,其中就包括从没有接触过得aes加密,因此从网上各种查,官方的一种说法: 高级加密标准(英语:Advanced Encryption Standard,缩写:AES),在密码学 ...

  2. Android数据加密之MD5加密

    前言: 项目中无论是密码的存储或者说判断文件是否是同一文件,都会用到MD5算法,今天来总结一下MD5加密算法. 什么是MD5加密? MD5英文全称“Message-Digest Algorithm 5 ...

  3. android MD5加密

    public class MD5Uutils {    //MD5加密,32位    public static String MD5(String str) {        MessageDige ...

  4. IOS 杂笔-9 (MD5 加密)

    首先是一段对MD5的简介 *出自一位大牛之手* Message Digest Algorithm MD5(中文名为消息摘要算法第五版)为计算机安全领域广泛使用的一种散列函数,用以提供消息的完整性保护 ...

  5. JS中使用MD5加密

    下载 MD5 使用MD5加密的方法:下载md5.js文件,在网页中引用该文件: < script type="text/javascript" src="md5.j ...

  6. MD5工具类,提供字符串MD5加密、文件MD5值获取(校验)功能

    MD5工具类,提供字符串MD5加密(校验).文件MD5值获取(校验)功能 : package com.yzu.utils; import java.io.File; import java.io.Fi ...

  7. MD5 加密

    字符串加密 // 1. 准备好一个字符串 NSString *string = @"asdasfaf"; // 2. MD5加密是基于C语言的. 所以要把这个字符串转化成C的字符串 ...

  8. MD5加密的Java实现

    在各种应用系统中,如果需要设置账户,那么就会涉及到储存用户账户信息的问题,为了保证所储存账户信息的安全,通常会采用MD5加密的方式来,进行储存.首先,简单得介绍一下,什么是MD5加密. MD5的全称是 ...

  9. 【ORACLE】MD5加密

        今天乌干达充值卡入库时,发现有资源已经存在的异常, 异常原因经过核实是由于卡资源密码在库中已经存在, 为进一步查找存在的原因, 因此需要对导入文件密码的MD5 加密, 通过MD5加密后的字符串 ...

  10. 一个简单的后台与数据库交互的登录与注册[sql注入处理,以及MD5加密]

    一.工具: vs2013[因为我现在用的也是2013,版本随便你自己开心] sql2008[准备过久升级] 二.用到的语言: HTML+CSS+Jquery+Ajax+sqlserver HTML[相 ...

随机推荐

  1. java向上转型知识点收录

    package tex2polymorphism; /*总结如下: * 对于多态,可以总结它为: 一.使用父类类型的引用指向子类的对象: 二.该引用只能调用父类中定义的方法和变量: 三.如果子类中重写 ...

  2. 攻防世界-easyphp(前导数字字符串、数字字符串、数字弱类型比较)

    一道php代码审计题,利用了字符与数字弱类型比较的漏洞. 一.基础知识 数字字符串 形如数字形式的字符串叫做数字字符串,例如:'123456','1e56112'(科学计数法),'123.4'(单纯的 ...

  3. 攻防世界-unseping(序列化,Bash shell)

    这是一道序列化的题目,结合了Linux Bash shell知识 一.基础知识点 序列化    序列化的概念:    序列化 (Serialization)是将对象的状态信息转换为可以存储或传输的形式 ...

  4. 在集群上运行Spark应用

    初识Spark真的存在很多疑问:Spark需要部署在集群里的每个节点上吗?Spark怎么有这么多依赖,这些依赖分别又有什么用?官网里边demo是用sbt构建的,难道还有再学一下sbt吗? --就是这么 ...

  5. 手机安装python环境

    一.安装Termux环境 1.下载Termux Qpython 安装以后玩爬虫各种报错,也就不纠结了,直接弄Termux 虚拟环境 下载链接:https://wiki.termux.com/wiki/ ...

  6. nop 中创建任务(Task)

    NopCommerce 中Task 原理是服务端开启线程定时跑. 1.在数据表ScheduleTask中添加一条数据, 2.自定义类,继承ITask 即可 using Data.Log4Net; us ...

  7. linux 安装 talib 的完美姿势!

    安装 TA-Lib $ wget http://prdownloads.sourceforge.net/ta-lib/ta-lib-0.4.0-src.tar.gz $ tar -zxvf ta-li ...

  8. HDLbits——Lfsr5

    Build this LFSR. The reset should reset the LFSR to 1 module top_module( input clk, input reset, // ...

  9. SQL预编译

    1.数据库预编译起源 (1)数据库SQL语句编译特性: 数据库接受到sql语句之后,需要词法和语义解析,优化sql语句,制定执行计划.这需要花费一些时间.但是很多情况,我们的一条sql语句可能会反复执 ...

  10. 5.docker安装redis

    下载redis镜像 不讲那么细了,可以参考docker安装mysql的介绍 docker pull redis 不加冒号和版本表示下载最新版本的 镜像下载完后可以数据 docker images 命令 ...