MD5加密汇总
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加密汇总的更多相关文章
- 关于CryptoJS中md5加密以及aes加密的随笔
		
最近项目中用到了各种加密,其中就包括从没有接触过得aes加密,因此从网上各种查,官方的一种说法: 高级加密标准(英语:Advanced Encryption Standard,缩写:AES),在密码学 ...
 - Android数据加密之MD5加密
		
前言: 项目中无论是密码的存储或者说判断文件是否是同一文件,都会用到MD5算法,今天来总结一下MD5加密算法. 什么是MD5加密? MD5英文全称“Message-Digest Algorithm 5 ...
 - android MD5加密
		
public class MD5Uutils { //MD5加密,32位 public static String MD5(String str) { MessageDige ...
 - IOS 杂笔-9 (MD5 加密)
		
首先是一段对MD5的简介 *出自一位大牛之手* Message Digest Algorithm MD5(中文名为消息摘要算法第五版)为计算机安全领域广泛使用的一种散列函数,用以提供消息的完整性保护 ...
 - JS中使用MD5加密
		
下载 MD5 使用MD5加密的方法:下载md5.js文件,在网页中引用该文件: < script type="text/javascript" src="md5.j ...
 - MD5工具类,提供字符串MD5加密、文件MD5值获取(校验)功能
		
MD5工具类,提供字符串MD5加密(校验).文件MD5值获取(校验)功能 : package com.yzu.utils; import java.io.File; import java.io.Fi ...
 - MD5 加密
		
字符串加密 // 1. 准备好一个字符串 NSString *string = @"asdasfaf"; // 2. MD5加密是基于C语言的. 所以要把这个字符串转化成C的字符串 ...
 - MD5加密的Java实现
		
在各种应用系统中,如果需要设置账户,那么就会涉及到储存用户账户信息的问题,为了保证所储存账户信息的安全,通常会采用MD5加密的方式来,进行储存.首先,简单得介绍一下,什么是MD5加密. MD5的全称是 ...
 - 【ORACLE】MD5加密
		
今天乌干达充值卡入库时,发现有资源已经存在的异常, 异常原因经过核实是由于卡资源密码在库中已经存在, 为进一步查找存在的原因, 因此需要对导入文件密码的MD5 加密, 通过MD5加密后的字符串 ...
 - 一个简单的后台与数据库交互的登录与注册[sql注入处理,以及MD5加密]
		
一.工具: vs2013[因为我现在用的也是2013,版本随便你自己开心] sql2008[准备过久升级] 二.用到的语言: HTML+CSS+Jquery+Ajax+sqlserver HTML[相 ...
 
随机推荐
- 遍历List时删除元素导致List抛出java.util.ConcurrentModificationException异常
			
1 public static void main(String[] args) { 2 List<String> list = new ArrayList<String>() ...
 - [Oracle19C 数据库管理] 管理回滚表空间(UNDO Tablespace)
			
当对数据进行修改时,Oracle数据库会将旧的数据存储到UNDO表空间(回滚表空间).回滚表空间让用户可以rollback到修改前的数据,提供了读一致性,并支持闪回查询过去的数据.Undo也用来在Tr ...
 - OpenMP fortran 学习
			
参考自TAMU的PPThttps://people.math.umass.edu/~johnston/PHI_WG_2014/OpenMPSlides_tamu_sc.pdf 什么是OpenMP 在C ...
 - 【TensorFlow】InternalError: Failed copying input tensor
			
TensorFlow-GPU 执行模型训练时报错: InternalError: Failed copying input tensor from /job:localhost/replica:0/t ...
 - 吴恩达老师机器学习课程chapter09——异常检测
			
吴恩达老师机器学习课程chapter09--异常检测 本文是非计算机专业新手的自学笔记,高手勿喷. 本文仅作速查备忘之用,对应吴恩达(AndrewNg)老师的机器学期课程第十五章. 目录 吴恩达老师机 ...
 - re的finditer()
			
在前面学习了findall()函数,它可以一次性找到多个匹配的字符串,但是不能提供所在的位置,并且是一起返回的,如果有数万个一起返回来,就不太好处理了,因此要使用finditer()函数来实现每次只返 ...
 - java连接couchbase的memcache
			
没有参考代码的时候重新写还是有点累的,这是重温了,第一次写的时候参考了别的一些乱七八糟的代码,虽然不是和这个一样的,不过在不懂的情况下还是很快写出来了,反而是这次光是找需要哪些jar都搞了半天,最后发 ...
 - 使用HttpClient4.5 使用MultipartEntityBuilder 类发送 multipart/formdata 格式给第三方接口 失败的原因
			
1.使用MultipartEntityBuilder的setCharset方法设置 utf-8格式2.在httppost 请求头上 加上Content-Type", "multip ...
 - VS不能生成moc_XXX文件的问题解决
			
环境:VS2010 + QT 4.8 问题:写好QT代码文件(XXX.h和XXX.cpp)后,发现不能像其它QT文件那样自动生成moc_XXX文件. 解决: 1.参考网文,将XXX.h文件的属性配置成 ...
 - 2022.11.08 NOIP2022 模拟赛五
			
「LibreOJ NOIP Round #1」DNA 序列 注意到 \(k=10\),\(|\Sigma|=4\),故本质不同的子串个数只有 \(4^{10}\) 种,可以直接压位存下来. 时间复杂度 ...