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[相 ...
随机推荐
- 【文献阅读】Automatic berthing for an underactuated unmanned surface vehicle: A real-time motion planning approach
(1)文章工作 This paper presents Extended Dynamic Window Approach (EDWA) for the automatic berthing of an ...
- bash脚本的判断语句之一
开始学习bash的"编程"操作. 其实严格来说,这个脚本语言的语法是比较古老和特殊的,有很多不符合中国人习惯的东西. 因为在中国人的世界里,电脑键盘上面的使用shift才能输出来的 ...
- selenium爬取PDF预览文件
python selenium 爬取某网站的pdf预览文件,下载图片转换pdf 参考链接:https://blog.csdn.net/weixin_44740756/article/details/1 ...
- laravel关联查询
1.创建表: -- 创建学生表 CREATE TABLE `student` ( `id` int(11) NOT NULL AUTO_INCREMENT, `name` varchar(255) C ...
- rsyslog由于RateLimit丢失日志的处理
问题 问题的发现:在我们的docker应用中,配置了rsyslog作为日志输出:当应用产生的日志在某段时间内量比较大时,就发现会丢日志. 原因 问题的原因:日志的输出路径,应用程序把日志输出到syst ...
- simlink物体仿真中连接scope
该模块用于连接scope和multibody仿真中物理模型的输出值.
- 1.java 开始
WelloWorld 随便新建一个文件夹,存放代码 新建一个java文件 编写代码 编译javac java文件,生成一个class文件 运行class文件,java class 可能遇到的情况 每个 ...
- ObjectARX2020向导创建项目失败,一直显示创建窗口原因
安装了好多次,查了好多资料,发现是需要将向导的msi文件以管理员权限运行,可以参考下面的链接 https://www.dawnnote.com/237.html
- 第6课第4节_Binder系统_驱动情景分析_服务注册过程_分析
Service_manager.c 8074 2017/6/30 首先从应用程序分析(Android) binder_loop(bs, svcmgr_handler) { readbuf[0] = B ...
- ALV值存放图标
SPAN { font-family: "新宋体"; font-size: 12pt; color: rgba(0, 0, 0, 1); background: rgba(255, ...